Apache Kafka消息中间件我爱编程

Kafka入门系列—4. 消费者组

2018-05-28  本文已影响2人  ted005

一. topic的from-beginning参数

producer 两个consumer中展示收到的信息

可以看到,这次在创建consumer时的参数没有--from-beginning。同时,窗口中并没有输出任何信息。

在producer中新输入will go to London 前两个consumer中完整显示所有信息 第三个consumer只显示了最新产生的will go to London
以上例子可以印证之前的概念:
  1. 多个消费者可以订阅同一个topic。
  2. 参数--from-beginning的作用是使consumer从kafka最早的消息开始消费。

二. 消费者组

在这之前先关闭之前创建的3个consumer窗口。并使用以下命令分别创建2个新的consumer,这次的命令与之前的也稍有不同。

  1. 一个消费者只能属于一个消费者组
  2. 消费者组订阅的topic只能被其中的一个消费者消费
  3. 不同消费者组中的消费者可以消费同一个topic

新开两个命令行窗口,创建2个新的consumer:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --group testgroup

在producer窗口中输入信息,会发现只有一个consumer窗口中有输出。

关闭刚才创建的2个consumer,使用以下2个命令创建2个新的consumer:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --group testgroup1

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --group testgroup2

订阅testtopic的2个consumer分别属于不同的消费者组testgroup1testgroup2,因此2个窗口中都会显示producer产生的消息。

上一篇下一篇

猜你喜欢

热点阅读