平时项目使用RocketMq遇到的一个麻烦问题
平时项目里每次都遇到一个麻烦的事情,如下:
有A应用,B应用,
A应用发送消息,topic:A,B应用订阅topic:A,tag:tag1,消费组为:group1
此时,如果有个项目有需要,A需要发出tag:tag2的消息,那么在项目环境中,我B应用订阅tag1,tag2,那么由于topic和group相同,导致公共环境也订阅了tag2(RocketMq topic+group 为唯一标志,下面的订阅关系唯一),那么这时候,我的处理就是在测试的时候,A发的消息加一个前缀->prefix_tag2,且B消费的时候group为prefix_group,那么这时候就不会影响了。
上面举例的时候简单的情况,只有两个应用,事实公司的应用比较多,流程比较复杂,消息交互比较多,涉及的应用很多,那么如果要新增一个tag消息,改前缀的应用就很多了,每次有消息变动,都需要改很多应用去搭建这样的一个消息环境。非常麻烦,不知道其他公司是怎么处理这个问题的,所以请教一下大家,有什么好的方式可以解决这样一个问题
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
发送消息到同一个topic,使用不同的tag。
但是消费的时候最好根据不同的group来消费不同的tag。
比如 tag1,使用groupA消费,
tag2,使用groupB消费。