Home

 

Use a clustered queue as a queue manager alias

 

Figure 1. Putting from a queue manager outside the cluster

In this scenario, the queue manager outside the cluster (QM3 in Figure 1) needs to put messages to the queue Q2, which occurs on two queue managers within cluster DEMO, and to exploit workload balancing. A queue named Q2 occurs on the queue managers QM2 and QM4 but not on the gateway queue manager QM1.

Because QM3 is not part of a cluster, it must communicate using distributed queuing techniques. Therefore, it must also have a sender channel and a transmission queue to QM1. QM1 needs a corresponding receiver channel. The channels and transmission queues are not shown explicitly in Figure 1.

QM3 has a QREMOTE definition for each queue in the cluster that it wants to put messages to. For example:

DEFINE QREMOTE(Q2) RNAME(Q2) RQMNAME(Q3) XMITQ(QM1)

QM2 and QM4 each have a local queue called Q2, defined as follows:

DEFEINE QLOCAL(Q2) DEFBIND(NOTFIXED)
and a cluster queue manager alias, Q3, defined as follows:
DEFINE QREMOTE(Q3) RNAME(' ') RQMNAME(' ') CLUSTER(DEMO) DEFBIND(NOTFIXED)

QM1, the gateway queue manager, has no special definitions.

When an application at QM3 issues an MQPUT call to put a message to Q2, the QREMOTE definition causes the message to be routed through the gateway queue manager QM1. QM1 uses workload balancing to distribute messages targeted to Q2 between the queues called Q2 on the two queue managers, QM2 and QM4, which have cluster queue manager aliases for Q3.

 

Parent topic:

Putting from a queue manager outside the cluster - alternative techniques


qc10870_


 

Home