kafka 生产者、消费者、分区测试

测试1

一个生产者,1个t,一个 p,1个消费者,改成2个消费者

结论

只有一个消费者才能接收到消息

测试2

描述:一个生产者,1个topic,2个 partition

创建主题:

bin/kafka-topics.sh --bootstrap-server hadoop1:9092 --create  --partitions 2 --topic userlog20

创建生产者:

bin/kafka-console-producer.sh --broker-list hadoop1:9092 --topic userlog26

创建消费者:

bin/kafka-console-consumer.sh --bootstrap-server hadoop1:9092 --topic userlog20 --consumer.config config/consumer.propeies

查看消费者组的详情:

bin/kafka-topics.sh --bootstrap-server hadoop1:9092 --describe userlog20

结论1

一个生产者,根据分区策略,一次只能向 一个 分区 发送数据;同一组的多个消费者,只有 一个消费者 收到数据

结论2

如果有3个消费者,那么只有2个消费者可以消费,因为有2个p,即:

同一消费者组的 消费者数量,大于 分区数,有消费者收不到数据

结论3

原本有3个消费者,将能接收到数据的消费者停掉,那么另2个消费者可以接收到数据,因为有2个p,即:原本接收不到的消费者,可以接收到数据

结论4

原本有3个消费者,将2个消费者停掉,那么剩下的消费者,可以消费2个p的数据


原文出处:/show_1IX2LZBUbW7C.html