产生原因:
MQ服务器集群化或MQ采用分区模型架构来存放消息,每个分区对于一个消费者消费消息。
解决消息一致性问题:
核心思想:消息一定要投递到同一个MQ 且是同一个分区模型且被用一个消费者消费,可以根据消息key对分区模型总数取余来实现。
1 大多数的项目是不需要保证MQ消息顺序一致性问题,只有在一些特定的场景下可能会需要,例如MySQL与Redis数据异步同步数据
2 所有消息需要投递到同一个MQ服务器 且是同一个分区模型且被用一个消费者消费,设定相同的消息key,根据相同的消息key计算hash存放在同一个分区中。
3 如果保证了消息顺序一致性问题,可能会引发消息堆积问题。
MQ如何保证消息的顺序一致性问题?
最新推荐文章于 2024-08-17 13:37:15 发布
文章探讨了在MQ服务器集群或分区模型中如何保证消息顺序一致性。通常情况下,这种需求仅在特定场景(如MySQL到Redis的数据同步)下出现。为了实现一致性,消息需发送至同一MQ服务器的同一分区,并使用相同的key进行哈希定位。然而,这样做可能导致消息堆积的问题。
摘要由CSDN通过智能技术生成