Kafka消息传递使用至少一次消息传递来确保每条消息都得到处理,并使用消息偏移量来指示下一条消息将被传递。
当有多个消费者时,如果某些致命消息在消息处理过程中导致消费者崩溃,此消息是否会重新传递给其他消费者并传播死亡?如果某个慢消息阻止了单个消费者,其他消费者是否可以继续处理并处理后续消息? 或者更糟糕的是,如果慢而致命的消息导致消费者崩溃,是否会导致其他消费者再次从其偏移开始?
答案 0 :(得分:2)
这里有几点需要考虑:
所以,让我们来看看你描述的情景。
session.timeout.ms
,消费者将被视为死亡并从组中移除。因此,该组中的另一个消费者是否会读取该消息取决于提交偏移量的方式/时间。我希望这有助于解决您的问题。