我正在构建一个消费者,我想确保从Kafka主题中读取和处理每条消息。虽然自动提交功能很吸引人,但我希望完全控制偏移量 - 这意味着,如果处理顺利,我只想提交偏移量。
但是,我不确定将自动提交设置为false的缺点。什么是转动自动提交的PRO和CON?会慢一点吗?具有相同消费者名称的多个消费者是否会对此实施产生问题?
答案 0 :(得分:5)
性能实际上取决于您如何实现它 - 您可以同步或异步提交偏移量,对于确定偏移量提交的事实有不同的保证。通常,当您不手动提交偏移时,您可以更好地控制它 - 就像您想要的那样。但是有一些警告,比如,commitSync
或commitAsync
提交通过poll获得的偏移,所以如果你在处理循环的中间提交,并且应用程序崩溃,那么你将丢失数据
“Kafka。权威指南”中有关于提交和保护的重要部分。抵消 - 我建议阅读它 - 汇合分发PDF of the book for free。