Kafka发送不同确认方式的性能差异
背景
Kafka的性能众所周知,Producer支持acknowledge模式。即Kafka会想Producer返回消息发送的结果。但是在Java Client中,acknowledge的确认有两种:同步和异步。 同步是通过调用future.get()实现的;异步则是通过提供callback方法来实现。写了个简单的程序测试一下单线程中吞吐差异能有多大。注意这里只考虑横向对比。
- 发送端单线程
- Kafka为单集群节点
- topic的分区数为1
- key长度1
- payload长度100
测试工具
- JMeter
- Kafka Meter