RocketMQ 订阅关系一致

内容纲要

简介

  • 订阅关系一致是指,同一个消费者组下所有消费者实例所订阅的Topic、Tag必须完全一致。如果订阅关系(消费者分组名-Topic-Tag)不一致,会导致消费消息紊乱,甚至消息丢失。5.x官方文档

为什么消息会丢失

  • 在RocketMq中如果发生订阅不一致的情况, 例如: Topic, ConsumerGroup相同, 但是Tag不同的情况, 并且是在集群模式之下就会发生消息丢失. 集群模式下, RocketMQ使用负载均衡的方式向Consumer推送消息, 当C1 监听的是Tag1, C2监听的是Tag2时, 此时RocketMq向C1推送Tag2的消息, 但是C1并不会处理, 但是由于RocketMQ回向一个ConsumerCroup发送一次消息, 消息发出则不会发送第二次, 所以发送到C1的消息丢失

如何保证定义关系一致

  • 保证同一个 ConsumerGroup 的所有Consumer实例均订阅相同的Topic及Tag
  • 不同的当ConsumerGroup不相同的时候, 对于RockerMq来说, 就是一个新的消费组, RocketMQ会向每一个消费组发送相等数量的消息, 所以需要保证ConsumerGroup中的所有Consumer实例均订阅相同的Topic及Tag
THE END
分享
二维码
< <上一篇
下一篇>>