如果消费者组成员宕机,Kafka 消息会发生什么?

Pri*_*rii 5 apache-kafka

假设我们有一个名为的主题Topic和一个CG包含三个消费者的消费者组。组偏移等于 0。

消费者开始阅读消息。

读取顺序:

  1. 消费者 1 读取消息 1。
  2. 消费者 2 读取消息 2。
  3. 消费者 3 读取消息 3。
  4. 消费者 2 提交消息 2。
  5. 消费者 3 提交消息 3。
  6. 消费者 1 处理消息 1 失败并关闭。

问题是:消息 1 会发生什么?

或者也许我错误地理解了消费者如何阅读消息,因为我是 Kafka 的新手。

版本:Apache Kafka 2.4.0

Dea*_*ool 3

你错过了分区同一组的多个消费者永远不会消费来自同一分区的消息

假设如果您的主题具有三个分区(P0,P1,P2),并且如果您有同一组的三个消费者(C1,C2,C3),那么每个消费者都会开始从每个分区消费

在此输入图像描述

如果任何消费者未能提交偏移量并下降,那么它将再次开始消耗先前偏移量中的消息(在您的情况下为0)

假设您有 5 个分区(P0、P1、P2、P3、P4)的主题和同一组的三个消费者(C0、C1、C3)。然后消费者将尝试通过每个分区来平均负载平衡 在此输入图像描述

C1从P0和P1消耗,C2从P2和P3消耗,剩余的C3从P4消耗。