微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

幂等 KafkaProducer 的延迟问题

如何解决幂等 KafkaProducer 的延迟问题

作为构建应用程序的一部分,我们正在尝试提供排序和至少一次保证。但是经过这个doc之后,似乎我们无法使用KafkaProducer的认配置来提供排序保证。所以给定货保证

我们有:

  1. 将 MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION 设置为 1。
  2. 使生产者具有幂等性。

但它也到处提到使用任何一个选项都会对延迟产生严重影响,因为在 (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 举报,一经查实,本站将立刻删除。