Hiding the name of a cluster target queue manager

Route a message to a cluster queue that is defined on any queue manager in a cluster without naming the queue manager.


Before starting

  • Avoid revealing the names of queue managers that are inside the cluster to queue managers that are outside the cluster.

    • Resolving references to the queue manager hosting a queue inside the cluster removes the flexibility to do workload balancing.
    • It also makes it difficult for you to change a queue manager hosting a queue in the cluster.
    • The alternative is to replace RQMNAME with a queue manager alias provided by the cluster administrator.
    • Hiding the name of a cluster target queue manager describes using a queue manager alias to decouple a queue manager outside a cluster from the management of queue managers inside a cluster.

  • However, the suggested way to name transmission queues is to give them the name of the target queue manager. The name of the transmission queue reveals the name of a queue manager in the cluster. We have to choose which rule to follow. We might choose to name the transmission queue using either the queue manager name or the cluster name:

      Name the transmission queue using the gateway queue manager name
      Disclosure of the gateway queue manager name to queue managers outside a cluster is a reasonable exception to the rule of hiding cluster queue manager names.

      Name the transmission queue using the name of the cluster
      If we are not following the convention of naming transmission queues with the name of the target queue manager, use the cluster name.


Modify the task Configure request/reply to a cluster, to hide the name of the target queue manager inside the cluster.


Procedure

In the example, see Figure 1, define a queue manager alias on the gateway queue manager QM1 called DEMO:
DEFINE QREMOTE(DEMO) RNAME(' ') RQMNAME(' ')
Figure 1. Putting from a queue manager outside the cluster

The QREMOTE definition on QM1 makes the queue manager alias DEMO known to the gateway queue manager. QM3, the queue manager outside the cluster, can use the queue manager alias DEMO to send messages to cluster queues on DEMO, rather than having to use an actual queue manager name.

If you adopt the convention of using the cluster name to name the transmission queue connecting to a cluster, then the remote queue definition for Q2 becomes:

DEFINE QREMOTE(Q2) RNAME(Q2) RQMNAME(DEMO) XMIT(DEMO)


Results

Messages destined for Q2 on DEMO are placed on the DEMO transmission queue. From the transmission queue they are transferred by the sender-channel to the gateway queue manager, QM1. The gateway queue manager routes the messages to any queue manager in the cluster that hosts the cluster queue Q2.

Parent topic: Configure request/reply to a cluster