我有一个Kafka主题的两个消费者组,我想设置这样一个方法,没有重复

iibxawm4  于 12个月前  发布在  Apache
关注(0)|答案(3)|浏览(113)

我有两个消费者组为一个Kafka主题,我想设置这样一个方法,如果一个消费者组下来,然后第二消费者组开始消费从第一个,以避免重复的偏移离开
我正在探索行业水平的想法,

qvk1mo1f

qvk1mo1f1#

这是不可能的,也没有必要。每个消费者组的偏移量都是唯一的。
您必须显式地查找并提交第二个组的偏移量,或者完全不使用Kafka进行组管理,而是从外部系统存储和查询。
重新启动一个组的任何示例将从最后提交的位置拾取。这将导致至少一次处理。您还需要事务处理恰好一次处理。

vcudknz3

vcudknz32#

你想要实现的目标只能由一个消费者群体实现,但如果你有两个不同的消费者群体,他们会独立行事,并且都保持自己的偏移量。
此外,当你说一个消费者群体下降时,你是说该消费者中的所有消费者都下降了吗?在这种情况下,你会让这些消费者从离开的地方开始消费。

watbbzwu

watbbzwu3#

当你指的是两个消费者群体时,我相信他们是两个不同的消费者应用程序,托管在两个不同的地区。如果你的意图是通过在主应用程序关闭时启动辅助消费者应用程序来处理DR场景,从而避免重复,那么这对行业来说并不是什么新鲜事。首先,我们必须致力于构建能够处理重复的消费者应用程序。如果这不可能,在灾难恢复场景中,当主服务器宕机时,您将知道宕机时的时间戳。使用此时间可以使用getOffsetsByTimes方法获取辅助消费者中的偏移量。一旦您获得偏移量,请从此偏移量开始消费,以避免重复。

相关问题