Preparing IBM MQ for z/OS for DQM with queue sharing groups
Use the instructions in this section to configure distributed queuing with queue sharing groups on IBM MQ for z/OS®.
For an example configuration using queue sharing groups, see Example configuration - IBM MQ for z/OS using queue sharing groups. For a message channel planning example using queue sharing groups, see Message channel planning example for z/OS using queue sharing groups.
You need to create and configure the following components to enable distributed queuing with queue sharing groups:
- LU 6.2 and TCP/IP listeners
- Transmission queues and triggering
- Message channel agents
- Synchronization queue
After we have created the components you need to set up the communication, see Set up communication for IBM MQ for z/OS using queue sharing groups.
For information about how to monitor and control channels when using queue sharing groups, see Monitor and controlling channels on z/OS.
See the following sections for queue sharing group concepts and benefits.
Class of service
A shared queue is a type of local queue that offers a different class of service. Messages on a shared queue are stored in a coupling facility (CF), which allows them to be accessed by all queue managers in the queue sharing group. A message on a shared queue must be a message of length no more than 100 MB.
Generic interface
A queue sharing group has a generic interface that allows the network to view the group as a single entity. This view is achieved by having a single generic address that can be used to connect to any queue manager within the group.
Each queue manager in the queue sharing group listens for inbound session requests on an address that is logically related to the generic address. For more information see LU 6.2 and TCP/IP listeners for queue sharing groups.
Load-balanced channel start
A shared transmission queue can be serviced by an outbound channel running on any channel initiator in the queue sharing group. Load-balanced channel start determines where a start channel command is targeted. An appropriate channel initiator is chosen that has access to the necessary communications subsystem. For example, a channel defined with TRPTYPE(LU6.2) cannot be started on a channel initiator that only has access to a TCP/IP subsystem.
The choice of channel initiator is dependent on the channel load and the headroom of the channel initiator. The channel load is the number of active channels as a percentage of the maximum number of active channels allowed as defined in the channel initiator parameters. The headroom is the difference between the number of active channels and the maximum number allowed.
Inbound shared channels can be load-balanced across the queue sharing group by use of a generic address, as described in LU 6.2 and TCP/IP listeners for queue sharing groups.
Shared channel recovery
The following table shows the types of shared-channel failure and how each type is handled.
Shared channel recovery processing on behalf of a failed system requires connectivity to Db2 to be available on the system managing the recovery to retrieve the shared channel status.
Type of failure: What happens: Channel initiator communications subsystem failure The channels dependent on the communications subsystem enter channel retry, and are restarted on an appropriate queue sharing group channel initiator by a load-balanced start command. Channel initiator failure The channel initiator fails, but the associated queue manager remains active. The queue manager monitors the failure and initiates recovery processing. Queue manager failure The queue manager fails (failing the associated channel initiator). Other queue managers in the queue sharing group monitor the event and initiate peer recovery. Shared status failure Channel state information is stored in Db2®, so a loss of connectivity to Db2 becomes a failure when a channel state change occurs. Running channels can carry on running without access to these resources. On a failed access to Db2, the channel enters retry.
Client channels
Client connection channels can benefit from the high availability of messages in queue sharing groups that are connected to the generic interface instead of being connected to a specific queue manager. For more information, see Client connection channels.