Adding a more powerful queue manager that hosts a queue
Follow these instructions to provide additional capacity by running the inventory system in Los Angeles as well as New York, where Los Angeles can handle twice the number of messages as New York.
Before you begin
Note: For changes to a cluster to be propagated throughout
the cluster, at least one full repository must always be available.
Ensure that your repositories are available before starting this task.
Scenario:
The INVENTORY cluster has been
set up as described in Adding a queue manager to a cluster. It contains
three queue managers: LONDON and NEWYORK both
hold full repositories, PARIS holds a partial repository
and puts messages from INVENTQ. The inventory application
runs on the system in New York connected to the NEWYORK queue
manager. The application is driven by the arrival of messages on the INVENTQ queue.
A new store is being set up in Los Angeles. To provide additional
capacity, you want to run the inventory system in Los Angeles as well
as New York. The new queue manager can process twice as many messages
as New York.
About this task
Follow these steps to add a more powerful queue manager that hosts a queue.
Procedure
Decide which full repository LOSANGELES refers to first.
Every queue manager in a cluster must refer to one or other of the full repositories to gather information about the cluster. It builds up its own partial repository. It is of no particular significance which repository you choose. In this example, NEWYORK is chosen. Once the new queue manager has joined the cluster it communicates with both of the repositories.
DEFINE CHANNEL(INVENTORY.NEWYORK) CHLTYPE(CLUSSDR) TRPTYPE(TCP)
CONNAME(NEWYORK.CHSTORE.COM) CLUSTER(INVENTORY)
DESCR('Cluster-sender channel from LOSANGELES to repository at NEWYORK')
Define the CLUSRCVR channel on queue manager LOSANGELES.
Every queue manager in a cluster must define a cluster-receiver channel on which it can receive messages. On LOSANGELES, define:
The cluster-receiver channel advertises the availability of the queue manager to receive messages from other queue managers in the cluster INVENTORY. Setting CLWLWGHT to two ensures that the Los Angeles queue manager gets twice as many of the inventory messages as New York (when the channel for NEWYORK is set to one).
Alter the CLUSRCVR channel on queue manager NEWYORK.
Ensure that the Los Angeles queue manager gets twice as many of the inventory messages as New York. Alter the definition of the cluster-receiver channel.
ALTER CHANNEL(INVENTORY.NEWYORK) CHLTYPE(CLUSRCVR) CLWLWGHT(1)
Review the inventory application for message affinities.
Before proceeding, ensure that the inventory application does not have any dependencies on the sequence of processing of messages.
Install the inventory application on the system in Los Angeles
Define the cluster queue INVENTQ.
The INVENTQ queue, which is already hosted by the NEWYORK queue manager, is also to be hosted by LOSANGELES. Define it on the LOSANGELES queue manager as follows:
DEFINE QLOCAL(INVENTQ) CLUSTER(INVENTORY)
Now that you have completed all the definitions, if you have not already done so
start the channel initiator on IBM® MQ for z/OS®.
On all platforms, start a listener program on queue manager LOSANGELES. The
listener program listens for incoming network requests and starts the cluster-receiver channel when
it is needed.
This modification to the cluster was accomplished without you having to alter the queue managers LONDON and PARIS. The repositories in these queue managers are updated automatically with the information they need to be able to send messages to INVENTQ at LOSANGELES.
What to do next
The INVENTQ queue and inventory application are hosted on two queue managers in the cluster. The configuration increases their availability, speeds up throughput of messages, and allows the workload to be distributed between the two queue managers. Messages put to INVENTQ by either LOSANGELES or NEWYORK are handled by the instance on the local queue manager whenever possible. Messages put by LONDON or PARIS are routed to LOSANGELES or NEWYORK, with twice as many messages being sent to LOSANGELES.