消费者失败时的卡夫卡行为

时间:2018-04-19 08:17:29

标签: java apache-kafka message-queue

我已经查阅了许多关于Apache Kafka事务,恢复和一次性新功能的不同文章。仍然不了解消费者恢复的问题。即使其中一个消费者死亡,如何确保来自队列的每条消息都会被处理?

我们假设我们有一个分配给消费者的主题分区。消费者会对消息进行轮询并开始处理它。并且由于电源故障而没有提交而关闭。会发生什么?来自同一组的任何其他消费者会重新发送此消息吗?

1 个答案:

答案 0 :(得分:1)

消费者定期发送心跳,告诉经纪人他们还活着。如果经纪人没有收到消费者的心跳,它会认为消费者已经死亡并重新分配其分区。因此,如果消费者死亡,其分区将被分配给该组中的另一个消费者,未提交的消息将被发送给新分配的消费者。