码迷,mamicode.com
首页 > 其他好文 > 详细

kafka(一)

时间:2019-12-22 16:16:32      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:creat   keep   image   mic   exec   ash   技术   top   ati   

图片来源网络
技术图片

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.消费者组中的消费者只能消费一个分区的消息 多余的消费者会闲置

kafka(一)

标签:creat   keep   image   mic   exec   ash   技术   top   ati   

原文地址:https://www.cnblogs.com/alin-qu/p/12079975.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!