Definitions

There are two very different reasons to cluster:

  • Reliability/Fault Tolarance
    • Cluster members replicate state.
    • If one member fails, clients can fail-over to another.
  • Scalabilty/throughput/load balancing:
    • Distribute large work load across multiple brokers for higher throughput.

Its important not to confuse the two goals. Note that a reliable cluster will be LESS scalable and performant than even a single broker - replication is extra work on top of normal processing. There is also:

  • Federation (a set of distributed exchanges and queues, seperately managed and wired together)

It's not clear where to draw the line between federation and clustering for scalability.

Reliability clustering is orthogonal to scalability clustering/federation, which means they can be combined.
Just replace the individual brokers in your federation or scalability cluster with reliable broker clusters
and you have a reliable and scalable system.

Requirements/Use Cases

Design notes

Related reading

  • No labels