如何解决幂等 KafkaProducer 的延迟问题
作为构建应用程序的一部分,我们正在尝试提供排序和至少一次保证。但是经过这个doc之后,似乎我们无法使用KafkaProducer的默认配置来提供排序保证。所以给定货保证
我们有:
- 将 MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION 设置为 1。
- 使生产者具有幂等性。
但它也到处提到使用任何一个选项都会对延迟产生严重影响,因为在 (1) 的情况下我们不能一次发送两批,在 (2) 的情况下我们必须等待所有每个消息的副本确认。
但我在多节点集群上进行本地检查,主题有 3 个分区,复制因子为 2。当我尝试通过每个生产者发送 10k 或 20k 消息时,我没有发现延迟有太大差异。我观察到的延迟是
#records normalProducer IdempotentProducer MaxInflightsPerConnection=1
(time taken in ms) (time taken in ms) (time taken in ms)
10k 7-8 on avg 8-9 on avg 8-9 on avg
20k 14-15 on avg 17-18 on avg 16-17 on avg
是的,使用幂等生产者或 inflight_request=1 会稍微增加延迟,但没有任何显着增加。 所以我想知道在什么条件下我们会看到使用幂等生产者或其他生产者对延迟的严重影响?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。