rocketmq问题汇总-一个consumerGroup只对应一个topic

更新时间:2023-07-05 18:24:08 阅读: 评论:0

rocketmq问题汇总-⼀个consumerGroup只对应⼀个topic 转载 blog.csdn/a417930422/article/details/50663639
1 同⼀个订阅组内不同Consumer实例订阅不同topic消费混乱问题调查
图1:
背景说明:
如图1左半部分,假设⽬前的关系如下:
broker:两个,broker_a和broker_b
topic:两个,topic1和topic2,每个topic在每个broker上分为4个queue
consumer:两个,consumer1和consumer2,都属于group1,分属于不同的jvm运⾏。
默认情况下,topic和queue的对应关系是:
topic1 <-> broker_a q0~q3,
topic1 <-> broker_b q0~q3,
黄皮果的功效topic2 <-> broker_a q0~q3,
topic2 <-> broker_b q0~q3
驱赶的近义词rebalance流程开始:
假设consumer1先启动,consumer1最终通过rebalance对应关系如下:
topic1 <-> broker_a q0~q3,
topic1 <-> broker_b q0~q3
接着consumer2启动,consumer2具体rebalance流程如下:
关键点在5.2,会把consumer1也抓下来,接着根据分配策略会导致consumer2只消费broker_b上topic2对应的q0~q3。
同样,consumer1也会进⾏rebalance,进⽽使其只消费broker_a的topic1对应的q0~q3,最终导致其关系变为图1中右图所⽰。consumer端警告⽇志:
rebalance完成之后,consumer端间断打印如下异常:
broker端也发现相应⽇志:
2015-07-31 16:38:08 WARN ClientManageThread_4 - subscription changed, group: consumerTestGroup remove topic vrs-topic-test SubscriptionData [classFilterMode=fal, topic=vrs-topic-test, subString=*, tagsSet=[], codeSet=[], subVersion=1438331853269] 2015-07-31 16:38:22 WARN PullMessageThread_29 - the consumer's subscription not exist, group: consumerTestGroup
consumer&broker异常⽇志原因:
consumer会定时与所有broker进⾏⼼跳通信,代码详见:
MQClientInstance.startScheduledTask,MQClientInstance.ndHeartbeatToAllBroker()默认每30秒⼼跳⼀次。
⼼跳主要作⽤:
会将HeartbeatData对象发送到broker端,携带consumer group和topic信息
对应到图1中,consumer1会发送类似group1,topic1
貂蝉与吕布
consumer2会发送group1,topic2
经过⾛查broker端代码发现如下代码:
重点在步骤4和5.1和5.2,现在只针对⼀个broker做⼀下分析:
建党伟业影评假设consumer1先启动,对于broker_a⼀开始关系是group1->topic1
当consumer2启动并rebalance完成后,consumer2发送group1->topic2,
匡衡凿壁借光的故事在步骤4,会根据group1将原先的group1->topic1取出。
在步骤5.1,添加topic2
汉堡包的英语我的周末英语作文在步骤5.2,移除topic1。
⽽consumer1在rebalance之后同样会进⾏如上步骤,导致topic1&topic2反复被remove掉,
最终导致了consumer端和broker端的异常⽇志不停打印。
幼儿园手工灯笼最终结论:是rebalance导致consumer只消费⼀部分topic,但是显然rocketmq在broker端做了处理,从⽽不停打印警告信息。

本文发布于:2023-07-05 18:24:08,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1069128.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:导致   步骤   消费   关系   假设   订阅   代码
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图