卡夫卡中的消息处理保证

时间:2019-03-13 19:20:42

标签: apache-kafka

在主题类型消息传递系统中,消费者负责在连接到主题时报告初始偏移量。

在使用者关闭的情况下,在该主题上发布了3条新消息。消费者上网时,他不会阅读这3条消息。只有在主题上发布4条消息时,消费的消息才会读取

如何确保已处理该主题上的所有消息?

3 个答案:

答案 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可以设置为以下任意一种。

最早:自动将偏移量重置为最早的偏移量

最新:自动将偏移量重置为最新的偏移量

如果使用者在崩溃前已成功提交了偏移量,则一旦激活,它将开始从上次提交的偏移量开始读取。