【发布时间】:2019-03-07 05:13:33
【问题描述】:
我正在使用 RabbitMQ 向 2 个或更多消费者发送消息。 看着the simple tutorial我可以很容易地做到这一点。
但我也想扩展我的一些消费者,并允许 一些 消费者始终处理消息,而 一些 消费者只在消息未处理时才处理该消息已经被另一个“类似”消费者。
|-------> cA
|
P --|-------> cB'
|
|-------> cB"
在我上面的例子中:
-
cA将始终处理消息,无论如何。 -
如果
cB"尚未处理邮件,cB'将仅处理邮件。 - 如果
cB'尚未处理消息,cB"将仅处理该消息。
我们的想法是尽可能快地处理数据,并且(看上图)如果cB' 或cB" 需要联系数据库或 API,我希望另一个消费者从尽可能快地排队。
但我也不希望这些数据被多次提取。
我总是可以添加另一个发布者并将消息从队列中删除,但我不确定这是否真的是实现我所追求的最有效的方法。
|-------> cA
|
P --|-------> p'--|-------> cB'
|
|-------> cB"
这在 RabbitMQ 中可以实现吗?
【问题讨论】:
标签: rabbitmq