RabbitMQ为什么要保证消息的顺序性,这是一个至关重要的事情,因为如果顺序错乱就会导致数据的不一致
RabbitMQ如何保证消息顺序性
1、RabbitMQ的消息不被顺序消费的情况
queue(队列)中的消息只能被一个消费者所消费,然后多个消费者在消费消息的过程中是无序的,多个消费者消费同一个queue,顺序错乱就会导致数据的不一致。这和我们预期的结果不符,如果这样的情况很多,那么就造成了数据库中的数据完成不对,同步工作也是白费了。
2、RabbitMQ保证消息顺序性的措施
2.1 拆分多个 queue,每个 queue 对应一个 consumer(消费者),就是多一些 queue而已
2.2 一个 queue 对应一个 consumer,然后这个 consumer 内部用内存队列做排队,然后分发给底层不同的
|
|