kafka topic offset 项目重启后消失
时间: 2023-07-28 10:00:43 浏览: 227
Kafka常见问题1
Kafka 默认使用的是消费者组(consumer group)模式,每个消费者组都会维护自己的消费位置,也就是 offset。当一个消费者组中的消费者重启时,它将会重新从上一次消费的位置开始消费。
如果您在消费 Kafka 消息时,发现项目重启后消费位置丢失,可能是因为您使用的消费者组的 offset 存储方式不正确,或者消费者组的 offset 过期了。
在 Kafka 中,有两种 offset 存储方式:`__consumer_offsets` 主题和外部存储。默认情况下,Kafka 使用内置的 `__consumer_offsets` 主题来存储消费者组的 offset。这个主题是内置的,由 Kafka 自己来管理和维护。如果您不想使用内置的 offset 存储方式,也可以使用外部存储,例如 Apache ZooKeeper 或 Apache Kafka Connect。
如果您的消费者组使用的是内置的 offset 存储方式,并且您的消费者组的 offset 过期了,那么当您的消费者重启时,它将会从最新的消息开始消费,而不是从上一次消费的位置开始消费。这可能导致消息重复消费或漏消费的问题。
为了避免这个问题,您可以通过修改 Kafka 的配置文件,调整 `offsets.retention.minutes` 参数来延长 offset 的过期时间,或者使用外部存储来存储 offset。如果您使用的是外部存储,那么当您的消费者重启时,它将从外部存储中获取上一次消费的位置,并从该位置开始消费。
阅读全文