If I was building a system with dozens of publishers/subscribers using message queues, it seems I have a few network configuration options:
- I could have one clustered broker that all machines use - each machine would not have a local queue
- I could install brokers locally on every machine, and use store-and-forward to deliver messages to remote machines
Different technologies seem to enforce different configurations - e.g., MSMQ requires every machine to have its own local queue, while Tibco EMS seems to often be used in clusters, without local queues on each consumer.
What are the downsides to not having a local queue, and what factors influence the decision?