消息的顺序性保证是指:消费者消费的消息和生产者发送的消息顺序是一致的.应用场景:如用户修改信息,对同一个用户的同一个资料进行修改时,需保证消息的顺序,比如我短时间内对于我的昵称修改了两次,需要保证这个修改的两次操作的消息能够被消费者有序的消费,才能确保我最终修改的昵称是我最新修改后的昵称.那么哪些情况可能会打破RabbitMQ的顺序性呢?①:存在多个消费者:(同一个队列存在多个消费者消息被分配给不同消费者处理速度不一致打乱业务执行顺序)②:网络波动或异常:(生产者多线程发送消息,受网络波动影响,后发送的消息率先到达 RabbitMQ,队列里消息存储顺序错乱)③:消息重试:(消息发送或者消费失败触发重试重试的消息排在队列末尾打乱顺序)④:消息路由问题:(同一业务有序消息routing‑key 不同被路由分发到不同队列队列之间互不保证顺序)⑤:死信队列:(消费失败消息进入死信队列后期再次放回原队列末尾导致时序错乱)消息顺序性保障方案:①:局部顺序性保证②:全局顺序性保证常见策略:①:单队列设置单消费者:(但如果只写 1 个队列 1 个消费者只能单线程处理消息吞吐量很低,可分区消费解决)②:分区消费:(通过消息分区划分多个队列,每个队列配置一个消费者,既保证消息局部有序,又可以提升整体消费效率)③:消息确认机制(手动确认)④:业务逻辑控制