Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

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 alsoThe topic is being broken up into three sections:

  • Federation (a set of distributed exchanges and queues, seperately managed and wired together)
  • Clustering (a set of distributed exchanges and queues managed as a single entity)
  • HA / Fault tolarance (the ability for exchanges and queues, clustered, federated, or isolated to replicated important state to a backup (failover partner))
  • Failover (the ability for a client to reconnect to the failover partner)

Use Cases

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