我目前正在使用消费者群体来阅读来自kafka的消息。然而,我注意到,如果我的消费者关闭并且我再次将其重新启动,它就不会消耗它停止的消息。阅读文档here后,似乎我必须自己实现此功能。我知道消费者有一个autooffset.reset配置,但这似乎只允许我从头开始消费所有内容,或者从当前队列中的最后一条消息中消费。我的理解是否正确?我必须自己实现这个吗?或者我在这里遗漏了一些东西。这似乎是一个非常基本的功能,任何排队系统都应该提供开箱即用的功能。
我使用的版本是0.8.1.1,scala版本为2.10。
答案 0 :(得分:1)
根据链接,您尝试使用SimpleConsumer。使用SimpleConsumer,您需要处理低级别的细节,例如自己管理偏移。它更加困难,但允许更多地控制数据的消耗方式。
如果你想要的只是阅读数据而不用担心低级细节,请看看HighLevelConsumer: https://cwiki.apache.org/confluence/display/KAFKA/Consumer+Group+Example