在主题类型消息传递系统中,消费者负责在连接到主题时报告初始偏移量。
在使用者关闭的情况下,在该主题上发布了3条新消息。消费者上网时,他不会阅读这3条消息。只有在主题上发布4条消息时,消费的消息才会读取
如何确保已处理该主题上的所有消息?
答案 0 :(得分:0)
您应该为此使用消费者组。使用使用者组时,Kafka服务器管理为该组提交的最新偏移量。然后,下次您连接到Kafka服务器时,它将查找最后提交的偏移并将使用方放置在该位置。替代方法是将最新的偏移量存储在外部数据存储(KV / RDBMS)中,并在应用程序启动时查找它们。然后,您可以指定连接到kafka代理后要寻找的偏移量。 https://www.confluent.io/blog/tutorial-getting-started-with-the-new-apache-kafka-0-9-consumer-client/
答案 1 :(得分:0)
您只需要阅读this帖子
谢谢
答案 2 :(得分:-1)
在以下情况下,我们需要指定属性auto.offset.reset
的值。
如果您的使用者是第一次从分区读取数据,并且在提交偏移量之前崩溃了。
auto.offset.reset
可以设置为以下任意一种。
最早:自动将偏移量重置为最早的偏移量
最新:自动将偏移量重置为最新的偏移量
如果使用者在崩溃前已成功提交了偏移量,则一旦激活,它将开始从上次提交的偏移量开始读取。