我已经读过kafka提供了一个消费者客户端库,它允许通过保存在zookeeper中读取的最后一个偏移量来进行恢复(不是100%确定它存储的位置)。
是否有可能对Sarama消费者做同样的事情?
假设我正在阅读直到偏移550,我的消费者崩溃了5分钟,我们现在处于偏移700但我想从偏移550恢复消费。
这可能不需要自己保存状态吗?我会认为它确实如此,但我不明白如何。
我发现sarama.OffsetNewest/Oldest
but不是我想要的......
Kafka消费者曾经在Zookeeper中存储偏移量,但现在他们将它们直接存储在Kafka中。请参阅Kafka文档中的Consumer section。
Sarama处理得非常好,Sarama消费者默认会在Kafka中提交(存储)抵消。
看看Sarama Consumer example。最初这个示例从主题结束开始,但重新启动时,它将从最后一个位置重新启动。