amwayy 2019-12-22
图片来源网络
# 登录到容器 docker exec -it kafka1 bash //创建一个topic,名称为test_kafka,partitions为2个,replication有3个,topic的name为test2: kafka-topics --zookeeper zk1:2181,zk2:2181,zk3:2181 --replication-factor 3 --partitions 2 --create --topic test_kafka . //查看topic kafka-topics --zookeeper zk1:2181,zk2:2181,zk3:2181 --describe --topic test_kafka
#第一组只有一个消费者 go run consumer.go -g t0 //第二组有两个消费者 go run consumer.go -g t1 go run consumer.go -g t1 //第三组有三个消费者 go run consumer.go -g t2 go run consumer.go -g t2 go run consumer.go -g t2
# 分别输入 1,2,3,4,5,6,7,8,9
2019/12/22 15:08:54 msg content:topic=test_kafka,partition=0,offset=12,content=1 2019/12/22 15:09:03 msg content:topic=test_kafka,partition=1,offset=12,content=2 2019/12/22 15:09:12 msg content:topic=test_kafka,partition=0,offset=13,content=3 2019/12/22 15:09:21 msg content:topic=test_kafka,partition=1,offset=13,content=4 2019/12/22 15:09:30 msg content:topic=test_kafka,partition=0,offset=14,content=5 2019/12/22 15:09:30 msg content:topic=test_kafka,partition=0,offset=15,content=7 2019/12/22 15:09:30 msg content:topic=test_kafka,partition=1,offset=14,content=6 2019/12/22 15:09:39 msg content:topic=test_kafka,partition=0,offset=16,content=9 2019/12/22 15:09:39 msg content:topic=test_kafka,partition=1,offset=15,content=8
#客户端1 2019/12/22 15:09:05 msg content:topic=test_kafka,partition=1,offset=12,content=2 2019/12/22 15:09:23 msg content:topic=test_kafka,partition=1,offset=13,content=4 2019/12/22 15:09:32 msg content:topic=test_kafka,partition=1,offset=14,content=6 2019/12/22 15:09:32 msg content:topic=test_kafka,partition=1,offset=15,content=8 #客户端2 2019/12/22 15:08:47 msg content:topic=test_kafka,partition=0,offset=12,content=1 2019/12/22 15:09:14 msg content:topic=test_kafka,partition=0,offset=13,content=3 2019/12/22 15:09:32 msg content:topic=test_kafka,partition=0,offset=14,content=5 2019/12/22 15:09:32 msg content:topic=test_kafka,partition=0,offset=15,content=7 2019/12/22 15:09:41 msg content:topic=test_kafka,partition=0,offset=16,content=9
#客户端1 2019/12/22 15:09:04 msg content:topic=test_kafka,partition=1,offset=12,content=2 2019/12/22 15:09:23 msg content:topic=test_kafka,partition=1,offset=13,content=4 2019/12/22 15:09:32 msg content:topic=test_kafka,partition=1,offset=14,content=6 2019/12/22 15:09:32 msg content:topic=test_kafka,partition=1,offset=15,content=8 #客户端2 2019/12/22 15:08:46 msg content:topic=test_kafka,partition=0,offset=12,content=1 2019/12/22 15:09:14 msg content:topic=test_kafka,partition=0,offset=13,content=3 2019/12/22 15:09:32 msg content:topic=test_kafka,partition=0,offset=14,content=5 2019/12/22 15:09:32 msg content:topic=test_kafka,partition=0,offset=15,content=7 2019/12/22 15:09:41 msg content:topic=test_kafka,partition=0,offset=16,content=9 #客户端3 什么也没有
1.消息将会被均匀的分布到不同的分区中 实现了负载均衡和水平扩展 2.消息会全量落到不同的消费者组 3.消费者组内的消费者共享一个消费者组ID 组内的消费者共同对一个主题进行订阅和消费 4.消费者组中的消费者只能消费一个分区的消息 多余的消费者会闲置