13、RocketMQ实战:RocketMQ工作原理

本文深入解析RocketMQ中订阅关系一致性的概念、重要性及最佳实践。通过正反案例对比,详细说明同一消费者组内Consumer实例的Topic、Tag订阅逻辑必须保持一致的原因,避免消息消费混乱与丢失,是保障分布式消息队列可靠性的核心知识。

分布式消息队列RocketMQ

3.5)订阅关系的一致性

订阅关系的一致性指的是,同一个消费者组(Group ID相同)下所有Consumer实例所订阅的Topic与Tag及对消息的处理逻辑必须完全一致。否则,消息消费的逻辑就会混乱,甚至导致消息丢失。

3、 5.1)正确订阅关系;

多个消费者组订阅了多个Topic,并且每个消费者组里的多个消费者实例的订阅关系保持了一致。

 

3、 5.2)错误订阅关系;

一个消费者组订阅了多个Topic,但是该消费者组里的多个Consumer实例的订阅关系并没有保持一致

 

3、 5.2.1)订阅了不同Topic;

该例中的错误在于,同一个消费者组中的两个Consumer实例订阅了不同的Topic。

Consumer实例1-1:(订阅了topic为jodie_test_A,tag为所有的消息)

*Properties properties = new Properties()