Kafka发送不同确认方式的性能差异

Kafka发送不同确认方式的性能差异

背景

Kafka的性能众所周知,Producer支持acknowledge模式。即Kafka会想Producer返回消息发送的结果。但是在Java Client中,acknowledge的确认有两种:同步和异步。 同步是通过调用future.get()实现的;异步则是通过提供callback方法来实现。写了个简单的程序测试一下单线程中吞吐差异能有多大。注意这里只考虑横向对比。

  • 发送端单线程
  • Kafka为单集群节点
  • topic的分区数为1
  • key长度1
  • payload长度100

测试工具

future.get() + batch size =1

future.get() + batch size = 16K

callback + batch size = 16k

callback + batch size = 1

(转载本站文章请注明作者和出处乱世浮生,请勿用于任何商业用途)

comments powered by Disqus