如何通过shopify sarama抵销消费者的复苏

时间:2019-04-11 11:03:25

标签: go apache-kafka kafka-consumer-api sarama

我已经了解到,kafka提供了一个消费者客户端库,该库可以通过将最后一次读取的偏移量保存在zookeeper中来进行恢复(无法100%确定其存储位置)。

是否可以对Sarama消费者做同样的事情?

假设我正在阅读直到偏移量550,我的消费者崩溃了5分钟,现在我们处于偏移量700,但我想从偏移量550中恢复消费。

有可能不必自己保存状态吗? 我以为可以,但是我不知道如何。

我找到了sarama.OffsetNewest/Oldest,但这不是我想要的...

1 个答案:

答案 0 :(得分:0)

Kafka使用者过去将偏移量存储在Zookeeper中,但现在他们将其直接存储在Kafka中。请参阅Kafka文档中的Consumer section

Saraama很好地解决了这一问题,Sarama消费者将默认在Kafka中提交(存储)偏移量。

看看Sarama Consumer example。最初,该示例从主题的结尾开始,但是在重新启动后,它将从最后一个位置重新启动。