0

My Scenario :

We are using RabbitMQ for broadcasting messages to about 300 other computers in a network. We are using RabbitMQ on Windows Server, C#.Net Client (EasyNetQ)

basic solution is to assign a routingkey for each destination computer,define an exchange and bind each routingKey to one queue and define a shovel to each queue to destination server. in this condition we have 1 exchange and 300 queue and 300 shovel.

Problem Statement : maintenance and management of this amount of shovel and queue is hard and forces a more load to rabbitmq.

Question : I think there is a simple way of doing this : like define one exchange, one queue and routing based shovels(300). what solution do you recommend?

Thanks in advance.

Javad Norouzi
  • 327
  • 4
  • 11

1 Answers1

1

You second solutions look better to me..
Create a topic/fanout exchange at your server and let all shovels consume from that exchange for each client.
Than you can publish message on that exchange either using broadcast strategy or you can use wildcard for routing key.

kleash
  • 1,211
  • 1
  • 12
  • 31
  • Hello thank you for your answer, i checked your solution (and leaned shovel on exchange). but in that way again RabbitMQ defines one queue for each shovel definition himself. i prefer that myself define queue instead of rabbitmq (meaningful naming). – Javad Norouzi Jan 22 '17 at 05:31
  • Yes they will create exclusive queues and if you delete the shovels than those queues are also deleted automatically. But if you want to create queues yourself than I cannot think of any other solution. – kleash Jan 23 '17 at 03:20