Distributed queuing components

The components of distributed queuing are message channels, message channel agents, transmission queues, channel initiators and listeners, and channel-exit programs. The definition of each end of a message channel can be one of several types.

Message channels are the channels that carry messages from one queue manager to another. Do not confuse message channels with MQI channels. There are two types of MQI channel, server-connection (SVRCONN) and client-connection (CLNTCONN) . For more information, see Channels.

The definition of each end of a message channel can be one of the following types:

  • Sender (SDR)
  • Receiver (RCVR)
  • Server (SVR)
  • Requester (RQSTR)
  • Cluster sender (CLUSSDR)
  • Cluster receiver (CLUSRCVR)

A message channel is defined using one of these types defined at one end, and a compatible type at the other end. Possible combinations are:

  • Sender-receiver
  • Requester-server
  • Requester-sender (callback)
  • Server-receiver
  • Cluster sender-cluster receiver

Detailed instructions for creating a sender-receiver channel are included in Defining the channels. For examples of the parameters needed to set up sender-receiver channels, see Example configuration information applicable to the platform. For the parameters needed to define a channel of any type, see DEFINE CHANNEL.


Sender-receiver channels

A sender in one system starts the channel so that it can send messages to the other system. The sender requests the receiver at the other end of the channel to start. The sender sends messages from its transmission queue to the receiver. The receiver puts the messages on the destination queue. Figure 1 illustrates this.
Figure 1. A sender-receiver channel


Requester-server channels

A requester in one system starts the channel so that it can receive messages from the other system. The requester requests the server at the other end of the channel to start. The server sends messages to the requester from the transmission queue defined in its channel definition.

A server channel can also initiate the communication and send messages to a requester. This applies only to fully qualified servers, that is server channels that have the connection name of the partner specified in the channel definition. A fully qualified server can either be started by a requester, or can initiate a communication with a requester.
Figure 2. A requester-server channel


Requester-sender channels

The requester starts the channel and the sender terminates the call. The sender then restarts the communication according to information in its channel definition (known as callback ). It sends messages from the transmission queue to the requester.
Figure 3. A requester-sender channel


Server-receiver channels

This is like sender-receiver but applies only to fully qualified servers, that is server channels that have the connection name of the partner specified in the channel definition. Channel startup must be initiated at the server end of the link. The illustration of this is like the illustration in Figure 1.


Cluster-sender channels

In a cluster, each queue manager has a cluster-sender channel on which it can send cluster information to one of the full repository queue managers. Queue managers can also send messages to other queue managers on cluster-sender channels.
Figure 4. A cluster-sender channel


Cluster-receiver channels

In a cluster, each queue manager has a cluster-receiver channel on which it can receive messages and information about the cluster. The illustration of this is like the illustration in Figure 4.

  • Dead-letter queues
    The dead-letter queue (or undelivered-message queue) is the queue to which messages are sent if they cannot be routed to their correct destination. Each queue manager typically has a dead-letter queue.
  • Remote queue definitions
    Remote queue definitions are definitions for queues that are owned by another queue manager.
  • How to get to the remote queue manager
    We might not always have one channel between each source and target queue manager. There are a number of other ways of linking between the two, including multi-hopping, sharing channels, using different channels and clustering.
  • Addressing information
    When an application puts messages that are destined for a remote queue manager, the local queue manager adds a transmission header to them before placing them on the transmission queue. This header contains the name of the destination queue and queue manager, that is, the addressing information.
  • What are aliases?
    Aliases are used to provide a quality of service for messages. The queue manager alias enables a system administrator to alter the name of a target queue manager without causing you to have to change the applications. It also enables the system administrator to alter the route to a destination queue manager, or to set up a route that involves passing through a number of other queue managers (multi-hopping). The reply-to queue alias provides a quality of service for replies.
  • Queue manager alias definitions
    Queue manager alias definitions apply when an application that opens a queue to put a message, specifies the queue name and the queue manager name.
  • Reply-to queue alias definitions
    A reply-to queue alias definition specifies alternative names for the reply information in the message descriptor. The advantage of this is that we can alter the name of a queue or queue manager without having to alter the applications.

Parent topic: Distributed queuing and clusters