Cluster channels

On every full repository, you manually define a cluster-receiver channel, and a set of cluster-sender channels to connect to every other full repository in the cluster. When you add a partial repository, you manually define a cluster-receiver channel, and a single cluster-sender channel that connects to one of the full repositories. Further cluster-sender channels are defined automatically by the cluster when needed. Auto-defined cluster-sender channels take their attributes from the corresponding cluster-receiver channel definition on the receiving queue manager.


Cluster-receiver channel: CLUSRCVR

A CLUSRCVR channel definition defines the end of a channel on which a cluster queue manager can receive messages from other queue managers in the cluster.

We must define at least one CLUSRCVR channel for each cluster queue manager. By defining the CLUSRCVR channel, the queue manager shows the other cluster queue managers that it is available to receive messages.

A CLUSRCVR channel definition also enables other queue managers to auto-define corresponding cluster-sender channel definitions. See the Auto-defined cluster-sender channels section of this article.


Cluster-sender channel: CLUSSDR

You manually define a CLUSSDR channel from every full repository queue manager to every other full repository queue manager in the cluster. All the updates exchanged by the full repositories flow exclusively on these channels. By manually defining these channels, you control the network of full repositories explicitly.

When you add a partial repository queue manager to a cluster, you manually define a single CLUSSDR channel to connect to one of the full repositories. It makes little difference which full repository you choose, because after the initial contact has been made, further cluster queue manager objects for the queue manager, including CLUSSDR channels, are defined automatically as necessary. This enables your queue manager to send cluster information to any full repository, and send messages to any queue manager in the cluster.

As is explained in the section of this article, auto-defined sender channels are based on the configuration of the cluster-receiver channel. Therefore any channel properties you set on cluster channels should be set identically on matching CLUSSDR and cluster-receiver channels, or only set on cluster-receiver channels.

We should only manually define CLUSSDR channels for the reasons previously described. That is, to initially connect a partial repository to a full repository, or to connect two full repositories together. Manually configuring a CLUSSDR channel that connects to a partial repository, or to a queue manager not in the cluster, causes error messages such as AMQ9427 and AMQ9428 to be issued. Although this might sometimes be unavoidable as a temporary situation, for example when modifying the location of a full repository, the manual definition should be deleted as soon as possible.


Auto-defined cluster-sender channels

Typically when you add a partial repository queue manager to a cluster you manually define only two cluster channels on the queue manager:

  • A cluster-sender ( CLUSSDR ) channel to a full repository queue manager for the cluster.
  • A cluster receiver ( CLUSRCVR ) channel.

The CLUSSDR channel you define lets the queue manager make initial contact with the cluster. After the initial contact has been made, further CLUSSDR channels are defined automatically by the cluster when needed.

An auto-defined CLUSSDR channel takes its attributes from the corresponding CLUSRCVR channel definition on the receiving queue manager. Even if there is a manually defined CLUSSDR channel, the attributes from the auto-defined CLUSSDR channel are used. Suppose, for example that you define a CLUSRCVR channel without specifying a port number in the CONNAME parameter, and manually define a CLUSSDR channel that does specify a port number. When the auto-defined CLUSSDR channel replaces the manually defined one, the port number (taken from the CLUSRCVR channel) becomes blank. The default port number is used and the channel fails.

Where there are configuration differences between a manually defined CLUSSDR channel and the corresponding CLUSRCVR channel definition, some differences take effect immediately (for example, the workload balancing parameters), and some take effect only on channel restart (for example, TLS configuration).

To avoid confusion, as far as possible observe the following guidelines:

  • Only manually define CLUSSDR channels to point to full repositories.
  • Where you do have manually defined CLUSSDR channels, configure them to identically match the corresponding CLUSRCVR channel definition on the receiving queue manager.

See also Work with auto-defined channels.

Parent topic: Cluster components


Related information