【发布时间】:2011-07-12 07:59:09
【问题描述】:
对 RabbitMQ 来说还是个新手,我们仍处于调查阶段,看看它是否适合我们的用例--
我们很容易得出结论,我们想要的拓扑结构会让我们部署一些基于主题的交换,然后从那里过滤到特定的队列。例如,假设我们有一个用户和一个上传交换,其中用户队列可能会收到主题为“新注册”或“朋友请求”的消息,而上传交换可能会收到诸如“视频上传”或“图片上传”。
创建队列,将它们路由到适当的队列,然后构建侦听器来处理各种队列的消息非常简单。
但我不清楚是否可以在主题交换中进行扇出?
即我已经命名了绑定到我的主题交换的队列,但我希望能够在这些队列中抛出大量我的侦听器实例,以防止单点故障。但据我所知,RabbitMQ 以直截了当的循环方式对待这些听众——例如。每第 N 个消息总是发送到同一个第 N 个侦听器,而不是将消息分派给第一个可用的消费者。这对我们来说通常是可以接受的,但考虑到我们预期的负载,我们希望避免在我们的消费者农场中出现热点的可能性。
那么,是否有某种方式,无论是在队列或交换配置中还是在消费者代码中,我们可以将我们的侦听器指向一个主题队列,但让侦听器以扇出方式处理?
【问题讨论】:
标签: rabbitmq