【发布时间】:2018-03-28 19:05:19
【问题描述】:
我们有一个 kafka 集群和 spark-streaming 消费者。目前,偏移量存储在数据存储的消费者端。当我们使用的最新 kafka 提供了在代理级别存储消费者偏移量的功能时(在 kafka 中的 _consumer_offset 主题上),在消费者端存储的原因是什么。
一个论点是,如果 kafka 集群出现故障,我们仍然有偏移信息。但是如果 kafka 集群宕机了,即使是消息也会丢失,并且对于给定的偏移量,没有消息可以重播。
我遗漏了一些明显的东西,但无法弄清楚。 谢谢
【问题讨论】:
-
不同的消费者可能有不同的偏移量。为什么服务器要无限期地存储所有可能客户端的偏移量?如果你想在 Zookeeper 中单独备份你的偏移量,你可以这样做。
-
它存储了一个
(consumer_group, topic, offset)的元组
标签: apache-kafka