kafka消费者:从一开始就开始读取分区,即使有一个提交的偏移量

l7mqbcuq  于 2021-06-04  发布在  Kafka
关注(0)|答案(0)|浏览(242)

我对使用kafka事务的consumer-producer应用程序进行了压力测试,以实现一次交付。同时启动了两个示例,每个示例都有两个同时运行的使用者。模拟了一些网络丢包(使用docker网络断开网桥)来精确测试一次交付。作为测试的结果,在出站主题中有很多重复项。
事情是这样的:
示例1连接到Kafka并开始使用消息。分区x中没有记录的轮询。然而,示例2正在处理它。在 __consumer_offsets 主题我可以看到,这个分区的提交是执行的(我使用producer提交偏移量,就像您使用tx producer一样)。
在10:35:36,最后一条记录与分区x的偏移量。
然而,由于某种原因,在10:36:31,另一个示例从分区x接收了第一批记录,结果,分区被处理了两次。
这种行为的原因可能是什么?我没有使用Spring或任何其他Kafka适配器。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题