Closed nickevin closed 4 years ago
看到下面这段代码:
// 检查consumerGroup if(!StringUtils.isEmpty(validConsumerMap.get(consumerGroup))) { String exist = validConsumerMap.get(consumerGroup); throw new RuntimeException("消费组重复订阅,请新增消费组用于新的topic和tag组合: " + consumerGroup + "已经订阅了" + exist); } else { validConsumerMap.put(consumerGroup, topic + "-" + tags); }
两个问题:
key 是否可以设计成 consumerGroup + topic ,有以下场景: consumerGroup:cg,topic:tp01,tags:tag01 || tag02 consumerGroup:cg,topic:tp01,tags:tag03 || tag04 如果按照原逻辑,就算 topic 相同,tags 不同,也必须新增一个 consumerGroup。
consumerGroup 和 topic、tags 的关系是 1:1 吗?
我是初学者,还请指教,感谢。
这个问题解决了吗,我也觉得这个是个问题啊
这是rocketmq的能力决定的,同一个cid如果消费不同的tag会导致消息错乱(因为tag是在客户端过滤的),感兴趣的话可以看下rocketmq源代码。
看到下面这段代码:
两个问题:
key 是否可以设计成 consumerGroup + topic ,有以下场景: consumerGroup:cg,topic:tp01,tags:tag01 || tag02 consumerGroup:cg,topic:tp01,tags:tag03 || tag04 如果按照原逻辑,就算 topic 相同,tags 不同,也必须新增一个 consumerGroup。
consumerGroup 和 topic、tags 的关系是 1:1 吗?
我是初学者,还请指教,感谢。