Hey folks,
I've been researching this for a couple days, and not really getting the result that I'm looking for with Masstransit, I'm hoping someone can help point me in the right direction.
Here's the setup:
- I have three servers all configured as part of a RabbitMQ cluster (let's call them 1, 2, and 3).
- Each server connects to rabbitmq://localhost/Some_queue_name
- I have an application running on Server1 which is publishing messages
- I have an application running on Server2 & Server3 which is consuming messages
Within my real-world implementation, any server (1, 2, 3...or ServerN) could publish a message, and all other servers should consume it, thus keeping each server in lock-step. There could be multiple consumers and publishers on a single box, and then that set up would be replicated across each server.
Here's a quick view of what this looks like:
What I'm observing:
- Server1 publishes the message
- Server2 & Server3 are round-robin receiving the published messages (Message1 goes to Server2, Message2 goes to Server3 and back around).
What I can't seem to get an answer on, is getting the following to work:
- Server1 publishes the message
- Server2 & Server3 each consume the message
As far as I've been able to tell, the only way to do this is if the RabbitMQ queue exists on Server1, Server2 and Server3 have to connect to RabbitMQ on Server1 which completely negates the use of the RabbitMQ cluster, and it doesn't seem as though MassTransit has any knowledge of RabbitMQ clustering (nor do I particularly expect it to).
Any help anyone can offer, as I seem to be spinning my wheels, would be great.