我已经了解到,kafka提供了一个消费者客户端库,该库可以通过将最后一次读取的偏移量保存在zookeeper中来进行恢复(无法100%确定其存储位置)。
是否可以对Sarama消费者做同样的事情?
假设我正在阅读直到偏移量550,我的消费者崩溃了5分钟,现在我们处于偏移量700,但我想从偏移量550中恢复消费。
有可能不必自己保存状态吗? 我以为可以,但是我不知道如何。
我找到了sarama.OffsetNewest/Oldest
,但这不是我想要的...
答案 0 :(得分:0)
Kafka使用者过去将偏移量存储在Zookeeper中,但现在他们将其直接存储在Kafka中。请参阅Kafka文档中的Consumer section。
Saraama很好地解决了这一问题,Sarama消费者将默认在Kafka中提交(存储)偏移量。
看看Sarama Consumer example。最初,该示例从主题的结尾开始,但是在重新启动后,它将从最后一个位置重新启动。