kafka消费者没有指定分区(kafka中partition和消费者对应关系)
kafka消费者没有指定分区(kafka中partition和消费者对应关系)
2024-11-22 10:47:36  作者:刺芯疚  网址:https://m.xinb2b.cn/life/vzo357325.html

1个partition只能被同组的一个consumer消费,同组的consumer则起到均衡效果

消费者多于partition

topic: test 只有一个partition

创建一个topic——test,

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

在g2组中启动两个consumer,

1. bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning --consumer.config config/consumer_g2.properties2. bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning --consumer.config config/consumer_g2.properties

消费者数量为2大于partition数量1,此时partition和消费者进程对应关系如下:

bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group g2TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-IDtest 0 9 9 0 consumer-1-4a2a4aa8-32f4-4904-9c16-1c0bdf7128a2 /127.0.0.1 consumer-1- - - - - consumer-1-fd7b120f-fd21-4e07-8c23-87b71c1ee8a5 /127.0.0.1 consumer-1

消费者consumer-1-fd7b120f-fd21-4e07-8c23-87b71c1ee8a5无对应的partition。

用图表示为


生产者消费者对应关系1.jpg

如上图,向test发送消息:1,2, 3,4,5,6,7,8,9

只有C1能接收到消息,C2则不能接收到消息,即同一个partition内的消息只能被同一个组中的一个consumer消费。当消费者数量多于partition的数量时,多余的消费者空闲。

也就是说如果只有一个partition你在同一组启动多少个consumer都没用,partition的数量决定了此topic在同一组中被可被均衡的程度,例如partition=4,则可在同一组中被最多4个consumer均衡消费。消费者少于和等于partition

topic:test2包含3个partition

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3 --topic test2

开始时,在g3组中启动2个consumer,

1.bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test2 --from-beginning --consumer.config config/consumer_g3.properties2.bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test2 --from-beginning --consumer.config config/consumer_g3.properties

则对应关系如下:

TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-IDtest2 0 8 8 0 consumer-1-8b872ef7-a2f0-4bd3-b2a8-7b26e4d8ab2c /127.0.0.1 consumer-1test2 1 7 7 0 consumer-1-8b872ef7-a2f0-4bd3-b2a8-7b26e4d8ab2c /127.0.0.1 consumer-1test2 2 8 8 0 consumer-1-f362847d-1094-4895-ad8b-1e1f1c88936c /127.0.0.1 consumer-1

其中,consumer-1-8b872ef7-a2f0-4bd3-b2a8-7b26e4d8ab2c对应了2个partition

用图表示为:


生产者消费者对应关系2.jpg

消费者数量2小于partition的数量3,此时,向test2发送消息1,2,3,4,5,6,7,8,9

C1接收到1,3,4,6,7,9

C2接收到2,5,8

此时P1、P2对对应C1,即多个partition对应一个消费者,C1接收到消息量是C2的两倍

然后,在g3组中再启动一个消费者,使得消费者数量为3等于topic2中partition的数量3.bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test2 --from-beginning --consumer.config config/consumer_g3.properties

对应关系如下:

TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-IDtest2 0 8 8 0 consumer-1-8b872ef7-a2f0-4bd3-b2a8-7b26e4d8ab2c /127.0.0.1 consumer-1test2 1 7 7 0 consumer-1-ab472ed5-de11-4e56-863a-67bf3a3cc36a /127.0.0.1 consumer-1test2 2 8 8 0 consumer-1-f362847d-1094-4895-ad8b-1e1f1c88936c /127.0.0.1 consumer-1

此时,partition和消费者是一对一关系,向test2发送消息1,2,3,4,5,6,7,8,9

C1接收到了:2,5,8

C2接收到了:3,6,9

C3接收到了:1,4,7

C1,C2,C3均分了test2的所有消息,即消息在同一个组之间的消费者之间均分了!

多个消费者组

启动g4组,仅包含一个消费者C1,消费topic2的消息,此时消费端有两个消费者组

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test2 --from-beginning --consumer.config config/consumer_g4.properties --delete-consumer-offsets

g4组的C1的对应了test2的所有partition:

bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group g4TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-IDtest2 0 36 36 0 consumer-1-befc9234-260d-4ad3-b283-b67a2bf446ca /127.0.0.1 consumer-1test2 1 35 35 0 consumer-1-befc9234-260d-4ad3-b283-b67a2bf446ca /127.0.0.1 consumer-1test2 2 36 36 0 consumer-1-befc9234-260d-4ad3-b283-b67a2bf446ca /127.0.0.1 consumer-1

用图表示为


生产者消费者对应关系3.jpg

如上图,向test2发送消息1,2,3,4,5,6,7,8,9

那么g3组各个消费者及g4组的消费者接收到的消息是怎样地呢?欢迎思考!!

答案:

消息被g3组的消费者均分,g4组的消费者在接收到了所有的消息。

g3组:

C1接收到了:2,5,8

C2接收到了:3,6,9

C3接收到了:1,4,7

g4组:

C1接收到了:1,2,3,4,5,6,7,8,9

启动多个组,则会使同一个消息被消费多次。

  • 全新丰田威驰最新报价(外观时尚配置提升)
  • 2024-11-22外观时尚配置提升丰田在国内有着相当高的品牌信任度,归根到底,品质正是其立身之本,从产品看,丰田的车型既有百万级的埃尔法,也有不到十万的经济型车型,可以说能够满足不同消费者的需求,今天我为大家带来的这款丰田威驰就是既便。
  • 猫咪体内有虫什么症状(猫咪有这些症状)
  • 2024-11-22猫咪有这些症状猫咪是需要定期驱虫的,不然虫子会吸收猫咪的营养,导致猫咪身体不健康,饲养猫咪的过程中,猫咪有这些症状,说明肚子里有虫子出没1、虽然猫咪大部分时间都在睡觉,但是如果猫咪出现异常嗜睡的情况,就是会经常浑浑。
  • 很喜欢的一句话正能量(很棒的一句话正能量经典句子)
  • 2024-11-22很棒的一句话正能量经典句子如果你想快点成名,那么就得早点起床;如果你想快点长智,那么就得慢点骄傲;如果你想慢点老化,那么你就得快点学习;如果你想慢点淘汰,那么就得快点迈步不怕路远,就怕志短;不怕缓慢,就怕常站;不怕贫穷,就怕惰。
  • 怎样设置才能保护自己的微信隐私 微信这2个设置最好关闭
  • 2024-11-22怎样设置才能保护自己的微信隐私 微信这2个设置最好关闭微信在我们的日常生活中使用十分频繁,利用微信来办公,实时聊天都没有问题微信作为一款国民级的软件,深受很多用户的喜爱,一时间用户都离不开微信微信有很多设置是需要了解清楚,因为这有助于我们更好地使用微信不。
  • 切开后的冬瓜一天吃不坏怎样保存(冬瓜切开吃不完容易烂)
  • 2024-11-22冬瓜切开吃不完容易烂冬瓜,并不是因为它是在冬天结果而取名为“冬”,相反,冬瓜是夏季瓜,春天栽种,夏天成熟它的“冬”源于外表那层白白的蜡质,像极了冬天里的白霜而冬瓜外皮的白色蜡质用处很大,它相当于保护罩,可以保护冬瓜越冬不。
  • 13位娱乐圈最干净的男星(娱乐圈眼睛最漂亮的男星)
  • 2024-11-22娱乐圈眼睛最漂亮的男星“眼明正似琉璃瓶,心荡秋水横波清”,从古至今,眼睛都是一个人五官里最重要的视觉中心形容美女有“瞬美目以流眄,含言笑而不分”,形容男子有“一双虎目私寒星,两条剑眉如刷漆”从眼睛仿佛可以看到一个人的内心,。
  • 上海生活垃圾基本分类为(上海生活垃圾全程分类体系基本建成)
  • 2024-11-22上海生活垃圾全程分类体系基本建成上海将有效推进可回收物的资源化回收,同时加快处置能力建设陈静摄中新网上海7月2日电(记者陈静)上海市绿化市容局局长邓建平2日披露,上海生活垃圾全程分类体系基本建成,配套制度规范日趋完善“十三五”规划确。
  • 评分最高的十部港片(5部超级好看的港片)
  • 2024-11-225部超级好看的港片曾经的港片黄金时代经典实在太多,总有我们错过的冷门佳作,比如今天这五部,强烈安利!01《柔道龙虎榜》导演:杜琪峰豆瓣:7.6主演:古天乐/郭富城/应采儿豆瓣评选21世纪国产片TOP20,这部《柔道龙虎。