首页 > 解决方案 > Rabbit MQ - 消息顺序优先消费

问题描述

使用 Rabbit MQ 有没有办法,我可以确保所有类型 A 的消息都在类型 B 的消息之前被消费。

例如:如果我有一个 Product 和 Order 消息池,我想确保在 Order 消息之前使用所有 Product 消息?由于订单属于特定产品。因此,如果没有产品,订单就无法存在。

标签: asynchronousrabbitmqspring-rabbitrabbitmq-exchange

解决方案


您可以使用两个队列和两个侦听器来做到这一点,但这会很棘手;当产品丢失时,您必须挂起 Order 侦听器并等待它到达。

只要生产者始终在订单之前发送产品,您就可以使用单个队列和单个并发来完成此操作。


推荐阅读