Kafka中的消费者组(Consumer Group)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdkyxy2013/article/details/86644919

1. 消费者组(Consumer Group)

        消费者组是Kafka实现单播和广播两种消息模型的手段。同一个topic,每个消费者组都可以拿到相同的全部数据。

1.1 消费者多于分区数

  • 创建一个用于测试的单分区topic test

  • 设置consumer.properties文件

       将consumer.properties文件中的group id命名为group1,方便后续测试。

  • 在group1中启动两个消费者

       此时,消费者的数量大于分区的数量。

  • 测试消费者消费数据的情况

       使用生产者生产数据,可以得到两个消费者消费数据的情况,如下:

       这说明:同一个分区内的消息只能被同一个组中的一个消费者消费,当消费者数量多于分区数量时,多于的消费者空闲(不能消费数据)。

1.2 消费者少于和等于分区数

  • 创建一个三分区的topic test2

  • 首先在group1中启动两个消费者

       此时,消费者的数量小于分区的数量

  • 测试消费者消费数据的情况

       这说明:当分区数多于消费者数的时候,有的消费者对应多个分区。

  • 在group1中启动三个消费者并测试

      这说明:当分区数等于消费者数的时候,每个消费者对应一个分区。

1.3 多个消费者组

  • 命名一个新的消费者组

  • 启动消费者消费数据

      这说明:启动多个组,相同的数据会被不同组的消费者消费多次。

猜你喜欢

转载自blog.csdn.net/gdkyxy2013/article/details/86644919