rocketmq不同服务使用相同消费者组和生产者组的问题
之前多个服务使用同一个消费者组和生产者组procfg-consumer-group和procfg-produce-group,然后共享同一个Topic。
时不时会有问题,例如主控服务版本更新之后虽然消息发出来了,但是终端接收不到,消息有时会有CONSUMED_BUT_FILTERED(被过滤)

个人理解的原因是多个服务用同一个消费者组和生产者组时,A服务消费者接收A的Tag消息,B服务消费者接受B的Tag消息,如果A发消息,可能被B收到,因为是同一个消费者组,所以被过滤掉了
用了不同的消费者组和生产者组就不会有这个问题了
生产者组A (ProducerGroup_ServiceA)
│
▼
Topic: MyTopic ──┬── Queue1: [Msg1(Tag=ServiceA), Msg3(Tag=ServiceB)]
├── Queue2: [Msg2(Tag=ServiceA), Msg4(Tag=ServiceB)]
└── Queue3: [Msg5(Tag=ServiceA), Msg6(Tag=ServiceB)]
消费者组A (ConsumerGroup_ServiceA) 消费者组B (ConsumerGroup_ServiceB)
│ │
▼ ▼
[Msg1, Msg2, Msg5] (Tag=ServiceA) [Msg3, Msg4, Msg6] (Tag=ServiceB)
结论:多个服务可以使用不同消费者组和生产者组,共用一个topic,用不同的tag区分服务

浙公网安备 33010602011771号