一个消费者的消费者滞后是否会影响同一组 id 中具有不同主题的其他消费者
do consumer lag of one consumer will affect other consumer in a same group id with different topics
我有一个组 ID“my-consumer-group-id”和 3 个有自己消费者的主题
说
"my-consumer-1" consumed to "topic1" with groupId "my-consumer-group-id"
"my-consumer-2" consumed to "topic2" with groupId "my-consumer-group-id"
"my-consumer-3" consumed to "topic3" with groupId "my-consumer-group-id"
我观察到“my-consumer-1”有 200 万条记录,有 600k 消费者滞后,
这会影响其他消费者处理他们自己的消息吗?就性能而言,每个消费者有一个单独的消费者groupId更好吗?
消费者可以通过将其 group.id 设置为 group_1 来加入消费者组(假设 group_1)。消费者组也是一种支持并行消费数据的方式,即同一消费者组的不同消费者并行消费来自不同分区的数据。
除了组 ID 之外,每个消费者还使用 consumer.id 向 Kafka 代理标识自己。 Kafka 使用它来识别特定消费者组的当前 ACTIVE 消费者。
参考
difference between groupid and consumerid in Kafka consumer
在你的情况下;通过添加另一个消费者(具有不同的 ID),Kafka 将为新消费者分配另一个分区。正如您提到的,my-consumer-1 有 600k 滞后。在同一组下添加新消费者无济于事,因为将分配一个新分区。但是只有三个分区,只要3个消费者工作正常,第4个消费者就不会得到任何新分区。
最好为每个使用不同的组。
虽然一个消费者的延迟不会影响其他消费者,但使用同一组意味着如果对一个主题进行再平衡,则会导致所有消费者的再平衡,包括那些从不同主题消费的消费者。
我有一个组 ID“my-consumer-group-id”和 3 个有自己消费者的主题 说
"my-consumer-1" consumed to "topic1" with groupId "my-consumer-group-id"
"my-consumer-2" consumed to "topic2" with groupId "my-consumer-group-id"
"my-consumer-3" consumed to "topic3" with groupId "my-consumer-group-id"
我观察到“my-consumer-1”有 200 万条记录,有 600k 消费者滞后, 这会影响其他消费者处理他们自己的消息吗?就性能而言,每个消费者有一个单独的消费者groupId更好吗?
消费者可以通过将其 group.id 设置为 group_1 来加入消费者组(假设 group_1)。消费者组也是一种支持并行消费数据的方式,即同一消费者组的不同消费者并行消费来自不同分区的数据。
除了组 ID 之外,每个消费者还使用 consumer.id 向 Kafka 代理标识自己。 Kafka 使用它来识别特定消费者组的当前 ACTIVE 消费者。
参考 difference between groupid and consumerid in Kafka consumer
在你的情况下;通过添加另一个消费者(具有不同的 ID),Kafka 将为新消费者分配另一个分区。正如您提到的,my-consumer-1 有 600k 滞后。在同一组下添加新消费者无济于事,因为将分配一个新分区。但是只有三个分区,只要3个消费者工作正常,第4个消费者就不会得到任何新分区。
最好为每个使用不同的组。
虽然一个消费者的延迟不会影响其他消费者,但使用同一组意味着如果对一个主题进行再平衡,则会导致所有消费者的再平衡,包括那些从不同主题消费的消费者。