Kafka集群消息发送消费

目录

 1.创建topic两个分区,两个副本

 2.创建生产者,向集群发送消息

3.创建消费者客户端,向集群消费消息

4.指定消费组来消费消息


 

 1.创建topic两个分区,两个副本

bin/kafka-topics.sh --bootstrap-server 82.157.198.247:9092,82.157.198.247:9093 --create --partitions 2 --replication-factor 2 --topic jqTopic5

Kafka集群消息发送消费_第1张图片

 Kafka集群消息发送消费_第2张图片

 2.创建生产者,向集群发送消息

bin/kafka-console-producer.sh --broker-list 82.157.198.247:9092,172.18.0.1:9093 --topic jqTopic

3.创建消费者客户端,向集群消费消息

bin/kafka-console-consumer.sh --bootstrap-server 82.157.198.247:9092,82.157.198.247:9093 --from-beginning --topic jqTopic5

4.指定消费组来消费消息

bin/kafka-console-consumer.sh --boostrap-server xxx:9092,xxx:9093 --from-beginning --consumer-property group.id=testGroup1 --topic jqTopic 

相关概念:如果两个消费者都在同一个组里面那就只有一个消费成功(单播消息)

不同消费组的可以消费同一个分区的消息(注意一个消费者可以消费多个消息

Kafka集群消息发送消费_第3张图片

 5.为什么我们一个消费组只能有一个消费者消费?

  因为要保证消息的顺序消费,当消息从provider那里发送过来的时候是有序的,所以我们消费者需要按顺序消费

 5.1消费组中的消费者数量无需比partition分区数量多,不然多出来的消费者消费不到消息

——>partition的数量决定了消费组中消费者的数量

 5.2如果消费者挂了,就会触发rebalance机制,会让其他消费者来消费该分区 

你可能感兴趣的:(kafka,kafka,java,分布式)