【发布时间】:2020-06-11 07:26:16
【问题描述】:
我的应用程序使用来自Kafka 0.9 的数据。
目前,我们获取消息、处理和提交。在这个过程中,如果消费者因为处理时间较长而无法发送心跳,消费者协调器会认为消费者已经死亡,并重新平衡分区。因此,总体而言,这会导致消费者数量减少。在一段时间后,我们的数据处理会停止。
我应该如何处理这种应用程序失败?
如果协调器发现一个新的消费者已经死了,有没有办法让消费者保持活力或跨越一个新的消费者?
【问题讨论】:
-
您的“死”消费者是否尝试重新连接?我记得,在提交偏移量时它应该会失败。
-
最小化心跳,让协调者知道消费者还活着。
标签: spring apache-kafka kafka-consumer-api spring-kafka