单播消息
在一个kafka的topic分区中,在同一个消费组中启动多个消费者,那么同一消费组中只有一个消费者可以收到订阅的topic中的消息,也就是说同一个消费组中只能有一个消费者能消费该partition的消息。
$ bin/kafka-console-consumer.sh --bootstrap-server 10.20.30.40:9092 --consumer-property group.id=group1 --topic hello
多播消息
不同的消费组订阅同一个partition中,消费组之间互不影响,那么每个消费组都能消费消息,如下在不同消费组中启动的两个消费客户端都可以收到消息topic的消息(这里的topic只有一个partition)。
$ bin/kafka-console-consumer.sh --bootstrap-server 10.20.30.40:9092 --consumer-property group.id=group1 --topic hello
$ bin/kafka-console-consumer.sh --bootstrap-server 10.20.30.40:9092 --consumer-property group.id=group2 --topic hello
下图就是描述单播和多播的区别: