RabbitMQ:根据消息路由密钥

时间:2017-01-17 14:46:08

标签: c# rabbitmq rabbitmq-exchange easynetq rabbitmq-shovel

我的情景:

我们正在使用RabbitMQ向网络中的大约300台其他计算机广播消息。 我们在Windows Server上使用RabbitMQ,C#.Net Client(EasyNetQ)

基本解决方案是为每台目标计算机分配一个路由键,定义一个交换并将每个routingKey绑定到一个队列,并为每个队列定义一个铲到目标服务器。 在这种情况下,我们有1个交换,300个队列和300个铲子。

问题陈述:维护和管理这一数量的铲子和队列很难,并且对Rabbitmq造成更大的负担。

问题:我认为有一种简单的方法可以做到这一点:比如定义一个交换,一个队列和基于路由的铲子(300)。你推荐什么解决方案?

提前致谢。

1 个答案:

答案 0 :(得分:1)

你的第二个解决方案对我来说更好..
在您的服务器上创建一个主题/扇出交换,让每个客户从该交换中消耗掉所有的铲子 您可以使用广播策略在该交换机上发布消息,也可以使用通配符来路由密钥。