You can have a bus consisting of multiple servers, some or all of which are members of a cluster. When a server is a member of a cluster it allows servers to run common applications on different machines. Installing an application on a cluster that has multiple servers on different machines provides high availability. If one machine fails the other servers in the cluster do not fail.
When you configure a server bus member, that server runs a messaging engine. For many purposes this is sufficient, but such a messaging engine can only run in the server it was created for. The server is therefore a single point of failure; if the server cannot run, the messaging engine is unavailable. By configuring a cluster bus member instead, the messaging engine has the ability to run in one server in the cluster, and if that server fails, the messaging engine can run in an alternative server. This is illustrated in Figure 1. For more information see Bus member types and their effect on high availability and workload sharing configuration.
Another advantage of configuring a cluster bus member is the ability to share the workload associated with a destination across multiple servers. A destination deployed to a cluster bus member is partitioned across the set of messaging engines run by the cluster servers. The messaging engines in the cluster each handle a share of the messages arriving at the destination. This is illustrated in Figure 2. This is a familiar concept to those with knowledge of cluster queues in WebSphere MQ. For more information see Workload sharing.
To summarize, with a cluster bus member you can achieve either failover, workload sharing, or both, depending on policies that you can configure. For more information about policies for messaging engines, see Policies for service integration.