已复制
全屏展示
复制代码

什么是 Kafka 消费者组

· 2 min read

我们在消费Kafka的时候通常会指定一个 group id,它就是 Kafka 的消费者组,它的目的是让消费Kafka的消费者合理的进行消费,以达到最优的效果。

一. 消费者组的特点

  • 一个分区只可以被消费组中的一个消费者所消费。
  • 一个消费组中的一个消费者可以消费多个分区,例如 C1 消费了 P0,和P3 。
  • 一个消费组中的不同消费者消费的分区一定不会重复,例如:C1 消费 P0和P3 , C2 消费 P1和P2。
  • 所有消费者一起消费所有的分区,例如 C1 和 C2 共同完成了对 P0、P1、P2、P3 的消费。
  • 在不同消费组中,每个消费组都会消费所有的分区,例如,消费组A、消费组B 都消费了 P0、P1、P2、P3 。
  • 不同的消费组之间没有任何关系。

二. 消费者组的优势

  • 高性能

假设一个主题有10个分区,如果没有消费者组,只有一个消费者对这10个分区消费,他的压力肯定大。如果有了消费者组,组内的成员就可以分担这10个分区的压力,提高消费性能。

  • 故障容灾

如果只有一个消费者,出现故障后就比较麻烦了,但有了消费者组之后就方便多了。消费组会对其成员进行管理,在有消费者加入或者退出后,消费者成员列表发生变化,消费组就会执行再平衡的操作。例如一个消费者宕机后,之前分配给他的分区会重新分配给其他的消费者,实现消费者的故障容错。

  • 参考资料

https://blog.csdn.net/john1337/article/details/103060820

🔗

文章推荐