kafka(一)
图片来源网络
1.创建topic
# 登录到容器 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
2.启动三组go消费者
#第一组只有一个消费者 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
3.启动go生产者
# 分别输入 1,2,3,4,5,6,7,8,9
4.第一组消费者输出
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
5.第二组消费者输出
#客户端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
6.第三组消费者输出
#客户端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 什么也没有
7.结论
1.消息将会被均匀的分布到不同的分区中 实现了负载均衡和水平扩展 2.消息会全量落到不同的消费者组 3.消费者组内的消费者共享一个消费者组ID 组内的消费者共同对一个主题进行订阅和消费 4.消费者组中的消费者只能消费一个分区的消息 多余的消费者会闲置
相关推荐
jiangkai00 2020-03-20
sweetgirl0 2020-02-21
yangyutong00 2019-12-30
amwayy 2019-12-21
那年夏天0 2019-12-05
ljcsdn 2020-07-27
woaishanguosha 2020-07-18
qingyuerji 2020-06-14
MojitoBlogs 2020-06-14
MojitoBlogs 2020-06-09
猫咪的一生 2020-06-03
guicaizhou 2020-05-05
猫咪的一生 2020-05-03
jiangkai00 2020-04-15
方新德 2020-04-08
那年夏天0 2020-02-22
sweetgirl0 2020-02-09
MrZhangAdd 2020-01-13