我有一个3-broker docker kafka aws集群,以及一个3-container kafkastreams应用程序,它从一个replication=2的“events”主题进行处理。
我让其他用户在
this question
后来让我
this question
. 在停止kafkastreams应用程序之后,我重新启动了失败的代理,一个是在星期五(大约花了一个小时),另一个是在下星期一重新启动的。
当代理加入集群时,显然可以(显示“failed,i restarted application”。
__customer_offsets.sh
复制=3,所以应该是安全的。
(作为参考,在
这个问题
)
我的应用程序执行一些分派,因此输出主题偏移的总和应该等于原始事件的总和)。无论什么东西不到那里,都会变成
errors
话题一应俱全,所以总是相得益彰。
但是,当重新启动时,应用程序从一开始就开始处理,处理的消息数量几乎翻了一番(当发生故障时,有一些未处理的延迟)。
如果
__consumer_offsets
没有丢失(而且它们显然没有-它们只是显示出复制不足,但生活在代理中,在整个过程中都很好),为什么应用程序会从零开始处理?在什么情况下会发生这种情况呢?