Broker 10.5 | webMethods Broker Documentation | webMethods Broker Client Java API Programmer's Guide | Load Balancing and Failover for Publish Operations | Understanding Clustering
Understanding Clustering
Load Balancing
When a publish/deliver operation is executed on a valid Broker client connection, it is targeted for the specific Broker to which it is connected. If that Broker is unavailable, the operation fails.
When setting up client-side load balancing and failover, one or more Brokers that share some commonality (in terms of shared metadata and point-to-point connectivity) are brought together by sharing a territory.
In a territory where the metadata is common, publishers and subscribers can be on any of the Brokers in the territory and work as though they are on the same Broker. BrokerClusterPublisher pools together Broker client connections to individual Brokers in a territory and executes publish/deliver operations on any available Broker client connection.
To execute cluster operations, a BrokerClusterPublisher employs one or more Broker client connections to Brokers in a given territory. For an operation to succeed on a Broker client in the cluster pool, the Broker to which it is connected must be part of the same territory during execution. If a Broker becomes unavailable or leaves the territory, it is removed from the cluster pool and is not used until it becomes available again.
BrokerClusterPublisher also provides a means for choosing a specific Broker client connection for executing an operation against the default selection based on a simple round robin algorithm. BrokerClusterPublisher provides means for monitoring the connection activity. For example, a Broker leaving or joining the territory or a Broker becoming unavailable or is stopped. It also provides a flexible way of excluding or including a specific Broker on the territory for cluster operations at any point of time during the operations. It also provides some basic capabilities to retrieve permission and statistical information.