cheese8
cheese8
> > Mark,学习大佬们全链路路由MQ和定时任务怎么通过元数据隔离的方案~ > > 初步想到一个砖头: 元数据下发,使得A和A-test1按照元数据指引的环境reblance消费不同的Topc(+Tag?) > > 消息有一种简单的方案: A 和 A-test1 是不同的 consumer-group, broker 两边都都投递,consumer 消费的时候,判断消息里的tag,是不是属于自己的分组,如果是的话就消费,不是的话就丢弃。 > > 相当于在客户端侧处理,而不是broker端,处理起来简单很多。 这样多一套判断逻辑,侵入业务:consumer端始终要订阅生产topic和灰度topic,同时还要做判断。 我们目前的做法是: 1、1个Topic, 1个tag,当该tag需要灰度时,tag_grep作为灰度tag 2、非灰度时,2个producer往topic+tag投递,2个consumer从topic+tag消费 3、灰度时,某个producer(2个producer其中之一,往其中之一下发灰度元数据)识别到灰度元数据时,往topic+tag_grey投递,某个consumer(2个consumer其中之一,往其中之一下发灰度元数据)识别到灰度元数据时,自动reblance后消费topic+tag_grey tag加_grey后缀是约定逻辑,所以可以从mq client包上做增强,不会侵入业务。
> > > > Mark,学习大佬们全链路路由MQ和定时任务怎么通过元数据隔离的方案~ > > > > 初步想到一个砖头: 元数据下发,使得A和A-test1按照元数据指引的环境reblance消费不同的Topc(+Tag?) > > > > > > > > > 消息有一种简单的方案: A 和 A-test1 是不同的 consumer-group, broker 两边都都投递,consumer 消费的时候,判断消息里的tag,是不是属于自己的分组,如果是的话就消费,不是的话就丢弃。 >...