GitHub user imjyz added a comment to the discussion: 通过消费者标签支持灰度发布和多环境

社区回复:

该提案可能需要更详细的设计,尤其是在 Broker 端。

在当前模型中,同一个消费者组内的所有消费者共享相同的订阅关系,从队列拉取的消息可以被分配给组内的任意消费者。然而,在这个新场景中,每个消费者实际上拥有不同的“订阅”(通过基于
 Tag 的过滤实现)。这引发了一些关键问题:

* 消息缓存策略:当不同消费者具有差异化的过滤逻辑时,拉取到的消息应如何缓存?
* 容错与可靠性:若某个消费者发生故障,如何确保消息不丢失并尽可能减少重复消费?
* 资源风险:如果某个消费者卡住或严重滞后,其关联的缓存是否会无限增长?
* 轻量化目标:考虑到本方案旨在支持灰度发布(canary deployment)能力,理想情况下,这部分实现应尽可能轻量。

此外,还有一种替代方案:为每个灰度版本创建独立的消费者组,并配置不同的订阅过滤规则。该方案也能实现类似效果(尽管在细粒度流量控制方面存在一定局限),且实现更简单,无需改动现有核心逻辑。

能否请你进一步说明:相比上述替代方案,本提案具体有哪些优势?

GitHub link: 
https://github.com/apache/rocketmq/discussions/9917#discussioncomment-15267061

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]

Reply via email to