【发布时间】:2022-01-22 06:37:08
【问题描述】:
在 Kafka 中,每个消费者组都由一个唯一的 group.id 属性表示。每个消费者组管理自己的偏移量(存储在 __consumer_offsets 主题中)。如果我总是使用动态生成的 group.id 值启动消费者服务,这个偏移量会发生什么?
这个新的消费者组是否总是从主题的开头读取,因为它没有偏移量,或者'auto.offset.reset'会生效吗?
【问题讨论】:
-
我认为动态创建的组 ID 仅适用于
latest配置,并且仅当您想要处理当前消息并且不关心丢失以前的消息时才有意义。因此,请确保您的使用场景不需要 at-least-once。 -
感谢您澄清这一点,我还想处理丢失的以前的消息,所以我可能只是硬编码服务中的不同组 id,这样当它们重新启动时,它们会记住偏移量
-
我通常定义组 ID == 服务名称,因此每个服务都有自己的单个组 ID(无论它消耗多少主题)。
标签: apache-kafka