【发布时间】:2018-09-29 15:51:28
【问题描述】:
我查阅了很多关于 Apache Kafka 事务、恢复和一次性新功能的不同文章。仍然不了解消费者恢复的问题。即使有一个消费者死亡,如何确保队列中的每条消息都会被处理?
假设我们有一个分配给消费者的主题分区。消费者轮询一条消息并开始处理它。并因电源故障而关闭而没有提交。会发生什么?来自同一组的任何其他消费者会重新轮询此消息吗?
【问题讨论】:
标签: java apache-kafka message-queue
我查阅了很多关于 Apache Kafka 事务、恢复和一次性新功能的不同文章。仍然不了解消费者恢复的问题。即使有一个消费者死亡,如何确保队列中的每条消息都会被处理?
假设我们有一个分配给消费者的主题分区。消费者轮询一条消息并开始处理它。并因电源故障而关闭而没有提交。会发生什么?来自同一组的任何其他消费者会重新轮询此消息吗?
【问题讨论】:
标签: java apache-kafka message-queue
消费者定期发送心跳,告诉代理他们还活着。如果代理没有收到消费者的心跳,它认为消费者已经死亡并重新分配其分区。因此,如果消费者死亡,它的分区将被分配给组中的另一个消费者,并且未提交的消息将被发送给新分配的消费者。
【讨论】: