Clustering: Planning how to configure cluster transmission queues
You are guided through the choices of cluster transmission queues. We can configure one common default queue, separate default queues, or manually defined queues. To configure a cluster-sender channel to use a transmission queue other than SYSTEM.CLUSTER.TRANSMIT.QUEUE, you need to enable new function, using the mode of operation (OPMODE) system parameter in the CSQ6SYSP parameter.
Before you begin
Review How to choose what type of cluster transmission queue to use.
See the mode of operation ( OPMODE ) topic for more information.
About this task
You have some choices to make when you are planning how to configure a queue manager to select a cluster transmission queue.
- What is the default cluster transmission queue for cluster message transfers?
- A common cluster transmission queue, SYSTEM.CLUSTER.TRANSMIT.QUEUE.
- Separate cluster transmission queues. The queue manager manages the separate cluster transmission queues. It creates them as permanent-dynamic queues from the model queue, SYSTEM.CLUSTER.TRANSMIT.MODEL.QUEUE. It creates one cluster transmission queue for each cluster-sender channel it uses.
- For the cluster transmission queues that we do decide to create manually, we have a further two choices:
- Define a separate transmission queue for each cluster-sender channel that you decide to configure manually. In this case, set the CLCHNAME queue attribute of the transmission queue to the name of a cluster-sender channel. Select the cluster-sender channel that is to transfer messages from this transmission queue.
- Combine message traffic for a group of cluster-sender channels onto the same cluster transmission queue; see Figure 1. In this case, set the CLCHNAME queue attribute of each common transmission queue to a generic cluster-sender channel name. A generic cluster-sender channel name is a filter to group cluster-sender channel names. For example, SALES.* groups all cluster-sender channels that have names beginning with SALES.. We can place multiple wildcard characters anywhere in the filter-string. The wildcard character is an asterisk,
*. It represents from zero to any number of characters.
Procedure
- Select the type of default cluster transmission queue to use.
Leave the default setting or run the MQSC command:
- Choose a single cluster transmission queue, or separate queues for each cluster connection.
ALTER QMGR DEFCLXQ(CHANNEL)- Isolate any message flows that must not share a cluster transmission queue with other flows.
Follow these steps to isolate message flows:
- See Clustering: Example configuration of multiple cluster transmission queues. In the example the SALES queue, which must be isolated, is a member of the SALES cluster, on SALESRV. To isolate the SALES queue, create a new cluster Q.SALES, make the SALESRV queue manager a member, and modify the SALES queue to belong to Q.SALES.
- Queue managers that send messages to SALES must also be members of the new cluster. If we use a clustered queue alias and a gateway queue manager, as in the example, in many cases we can limit the changes to making the gateway queue manager a member of the new cluster.
- However, separating flows from the gateway to the destination does not separate flows to the gateway from the source queue manager. But it sometimes turns out to be sufficient to separate flows from the gateway and not flows to the gateway. If it is not sufficient, then add the source queue manager into the new cluster. If you want messages to travel through the gateway, move the cluster alias to the new cluster and continue to send messages to the cluster alias on the gateway, and not directly to the target queue manager.
- Configure the destinations of the flows so that each target queue is the only queue in a specific cluster, on that queue manager.
- Create the cluster-sender and cluster-receiver channels for any new clusters we have created following a systematic naming convention.
- Define a cluster transmission queue for each isolated destination on every queue manager that sends messages to the target queue.
- A naming convention for cluster transmission queues is to use the value of the cluster channel name attribute, CLCHNAME, prefixed with XMITQ.
- Create cluster transmission queues to meet governance or monitoring requirements.
- Typical governance and monitoring requirements result in a transmission queue per cluster or a transmission queue per queue manager. If you follow the naming convention for cluster channels, ClusterName. QueueManagerName, it is easy to create generic channel names that select a cluster of queue managers, or all the clusters a queue manager is a member of; see Clustering: Example configuration of multiple cluster transmission queues.
- Extend the naming convention for cluster transmission queues to cater for generic channel names, by replacing the asterisk symbol by a percent sign. For example,
DEFINE QLOCAL(XMITQ.SALES.%) USAGE(XMITQ) CLCHNAME(SALES.*)