Multicast Workload Communications in a Clustered Installation

Multicast is used by an ASI cluster node to make information about its workload available to the rest of the cluster.

Communication among cluster nodes about the workload of each node helps provide business process load balancing. You have a choice between multicast communication (which services all requests with a single stream of data) and unicast communication (which services each request with its own stream of data).

Multicast functions similarly to a broadcast, except that the message is only delivered to nodes that have registered to receive messages on a particular address and port. Multicast requires the participation of a routing component (where multicast needs to be turned on). Most routers that support multicast also support controlling the scope of multicast by restricting it to a single segment or a particular subset of the network. This is an important element of security and can also be a potential source of problems if configured incorrectly.

The Sterling B2B Integrator ASI configures multicast (and other network services) based on the Sterling B2B Integrator base port, to simplify installation. Because of the way it is assigned, it is unlikely to be used by another system, but if it is, the addresses can be changed in the properties files. Two cluster nodes may use different port ranges for the system (non-multicast) base port and all other network settings derived from this, but they must share the same multicast base port setting for clustering to work properly.

Also, for multicast in a cluster to work effectively, it is critical that all nodes in the cluster be in the same subnet.

A cluster will broadcast packets that will be received by any other cluster that:
  • Uses the same multicast port range
  • Is reachable via multicast on the network

If the two clusters are connected to the same database instance, they are treated as a single cluster. If they are connected to a different database instance, each will reject the other's packets but produce many exceptions in the log. This occurs if an exact replica of the production environment is required for testing or development. If this is required, the replicas must be on different network segments and the routers must be configured to restrict multicast to a single segment, or the clusters must use different multicast ports.

Cluster multicast and distribution communication occurs at each node rather than at each queue in a node. This prevents the opening of separate socket connections for each queue in each node, which opens a minimum of 20 socket connections per node for cluster communication. If you need a large number of cluster nodes per machine, working at each queue might cause problems because of the large number of sockets connections and the large number of ports.

One port and socket is used for multicast communication across all queues in a node. Similarly, for the distribution of workflows, one port and socket per node is used across all queues. The cluster distributes the information to specific queues within a node.