Clustering

ServiceMix supports clustering of containers. Clustering in ServiceMix provides

  • load balancing of messages across servers/machines
  • high availability (HA) of services and fault tolerance (if a machine crashes, messages are automatically redelivered to another machine
  • durability (persist messages to disk/database) to ensure they survive catastrophic hardware failure
  • local JMS transactions or full XA transaction support

Configuring a cluster

To run ServiceMix in a cluster, enable a JMS Flow - see Configuring ServiceMix.

Component deployment happens in the same way as a normal ServiceMix JBI container (both for POJO and archive Component deployment) but all the containers in the cluster are notified of a deployment, and the JMS Flow will handle automatic routing (and failover) of MessageExchange(s) between the members of the cluster.

Instance name into cluster
In the cluster mode all ServiceMix instance must have a unique name into whole cluster. You could see Configuration for more information.

Example

JMS Flow