如何确保仅在发送所有优先级为1的消息之后才发送优先级为2的消息?
我正在向用户发送通知,每个用户都有可能有多个通知。这些通知具有与之关联的优先级,目标是用户仅收到最高优先级的消息。
目标-我想先传送优先级为1的所有消息,然后再开始传送优先级为2的消息。
约束-我无法同时传递不同优先级的通知消息。我只能同时传递相同优先级的通知消息。
理想情况下我想拥有
我将单个优先级的所有消息转储到的队列。此队列将有多个使用者,这些使用者将同时传递这些消息。
一旦所有优先级为1的消息都已传递并且队列为空,我将所有优先级为2的消息转储到队列中以由多个使用者同时传递
< / li>为后续优先级继续上述过程
问题-我想知道如何在RabbitMQ中实现此设计/流程?另外,还有一种更好的方法来处理这种情况。
如果我对某些事情无法理解,请告诉我,并可以添加更多详细信息进行澄清。
谢谢
答案 0 :(得分:0)
RabbitMQ支持priority queues。请仔细阅读该文档,尤其是具有许多不同优先级的性能带来的影响。
注意: RabbitMQ团队监视the rabbitmq-users
mailing list,并且有时仅在StackOverflow上回答问题。