【发布时间】:2014-07-13 21:46:34
【问题描述】:
我想弄清楚,是否可以在 RabbitMQ 中使用一些默认路由方案/交换来实现以下目标:
我有一些设备和设备组的基本层次结构,其中一个设备始终属于一个组。
group_a
device_1 (queue: group_a.device_1)
device_2 (queue: group_a.device_2)
理想情况下,我希望每个组(例如group_a)都有一个生产者,以保持连接和通道打开。然后,当需要将消息发布到该组的设备(例如device_1)时,生产者将使用设备名称作为路由键将消息发送到预定义的交换器。交换将使用路由键作为队列名称并将消息放入该队列。
棘手的部分是:新设备(例如device_3)可能会在生产者的生命周期内出现。因此,我无法提前将路由键绑定到以设备命名的队列。
要解决的一个问题是每次需要手动按需传递消息时创建队列和绑定,这对我来说听起来有点开销。
第二种解决方案可能是我将有关新设备的信息传递给生产者,然后生产者添加新绑定。
但也许有一种更简单的方法,使用某种动态路由,可以按需自动创建队列。
【问题讨论】:
标签: routing rabbitmq message-queue