LucidSage/MassTransit — comment on commit bced6b707beb1644b07b51e62b65579635c95c07
File:  line 0
By LucidSage:

We have an environment where I have many web app servers that I want to talk to a new service using EDA. The new service needs to scale out, so some sort of distribution/load balancing is required. There will be other services that will also need to participate and scale out as well. So I am looking for a zero/minimal config way to get this network going while keeping it robust and flexible.

The distributor didn't quite do what I wanted because you can only have one distributor, which is a single point of vulnerability. It also didn't feel right setting up an extra distribution service/node to get it all working. I can think of ways around this but they all just seem to add more complexity. It just feels like there is a simpler solution. So that led me to looking for a way to enable better grouping of subscribers. I believe RabbitMQ has this behavior built in, grouping of subscribers by queue name, but I would prefer to use MSMQ.

The solution I am going for is to allow every publisher to handle the distribution and to let each subscriber just report which group they want to belong too. This allows the whole system to run as an N to N(1 of N)'s with no single vulnerability and no extra hops/setup while keeping the whole system flexible.