Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Definitions

There are two very different reasons to cluster:

  • Federation (a set of distributed exchanges and queues, seperately managed and wired together)
  • Custer for Reliability/Fault Tolarance
    • Cluster members replicate state.
    • If one cluster member fails, clients can fail-over to another.
  • Scalabilty/throughput/load balancing: Cluster for throughput
    • Distribute large work load to 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 systemNOTE: clustering for reliability and throughput have very different goals.
They can be combined: e.g. distributing load across a set of reliable primary-backup pairs.

Requirements/Use Cases

...