What is an MQ Cluster?

An IBM MQ cluster is a federation of queue managers that agree on a shared cluster name and exchange metadata about queues, channels, and topics so applications can send messages using logical names instead of wiring every point-to-point path by hand. Imagine five data centers each running its own queue manager: without clustering, every new application queue requires QREMOTE definitions and sender channels on every other site that might ever call it—a combinatorial maintenance nightmare. With clustering, you DEFINE QLOCAL ORDERS.IN CLUSTER('SALES') on the owning member; other members learn ORDERS.IN exists in cluster SALES through the repository and open cluster channels automatically when traffic needs to flow. This page is the conceptual entry to Section 7: what problems clusters solve, core vocabulary (cluster name, member, repository, CLUSRCVR, CLUSSDR), comparison to non-cluster distributed MQ, relationship to pub/sub clustered topics, and when not to cluster. Technical depth on repositories and workload follows in linked tutorials.

Problems Clusters Solve

  • Discovery — new queue managers advertise resources; peers learn without editing hundreds of QREMOTE objects.
  • Scalability — multiple instances of the same cluster queue name spread load across members.
  • Resilience — alternate instances can receive traffic if one member is down, subject to workload rules.
  • Operations — uniform application configuration uses queue name plus cluster context instead of per-host queue manager names.
  • Pub/sub at scale — clustered topics propagate subscription and publication routing across members.

Core Vocabulary

MQ cluster terms for beginners
TermMeaningExample
Cluster nameLogical group identifierPROD.PAYMENTS
Cluster memberQueue manager in the clusterQM_LON, QM_NYC
RepositoryCatalog of cluster object knowledgeFull or partial REPOS role
Cluster queueQLOCAL published to clusterORDERS.IN CLUSTER(SALES)
CLUSRCVR / CLUSSDRInbound/outbound cluster channelsAuto-created between members
CLUSQMQueue manager alias in clusterHide physical QM name

How a Put Travels (Simplified)

  1. Application opens queue ORDERS.IN with cluster context or uses MQOPEN options for cluster access.
  2. Local queue manager checks if ORDERS.IN exists locally with matching cluster name.
  3. If not local, consults repository knowledge for which members host ORDERS.IN in that cluster.
  4. Workload algorithm picks a target instance (CLWL attributes influence choice).
  5. Queue manager uses cluster channel (often auto-defined) to send message to chosen member.
  6. Target member puts message on its local ORDERS.IN; consumer application MQGETs there.

The application usually does not hard-code QM_NYC versus QM_LON—the cluster layer chooses. Misconfiguration shows as unknown object name or message on unexpected member.

Cluster vs Point-to-Point Mesh

Point-to-point: QM_A defines QREMOTE to QM_B plus SDR channel; QM_B defines RCVR. Every pair is explicit. Cluster: both join SALES; publish ORDERS.IN on each host as needed; repository and auto channels handle discovery. Small two-site links may stay non-cluster for simplicity; enterprise meshes with dozens of members benefit from clusters. Security still required on every member—clustering is not implicit trust.

shell
1
2
3
4
5
ALTER QMGR CLUSTER('SALES') CLUSNL('SALES') DEFINE QLOCAL('ORDERS.IN') CLUSTER('SALES') REPLACE DEFINE CHANNEL('QM_LON.QM_NYC') CHLTYPE(CLUSSDR) TRPTYPE(TCP) + CONNAME('nyc.example.com(1414)') CLUSTER('SALES') * Repository roles configured separately - see full/partial repos tutorials

Full and Partial Repositories (Overview)

Not every member holds the complete cluster catalog. Full repository queue managers maintain authoritative copies; partial repositories subscribe to updates. Typically two full repositories on different hosts avoid single point of failure. Details in the full repositories and partial repositories tutorials—here, know that repository health is as critical as channel health for cluster puts.

Cluster and Pub/Sub

Clustering also carries topic and subscription metadata for multi-queue-manager pub/sub. TOPTYPE(CLUS) topics and SUBSCOPE(ALL) subscriptions depend on the same cluster membership and channels as cluster queues. Design cluster name consistently for both point-to-point cluster queues and event topics.

When Not to Use a Cluster

  • Two queue managers with three static queues—overhead may exceed benefit.
  • Strict network isolation where auto channels violate policy—may need manual cluster channel control.
  • Regulatory separation requiring no shared repository between jurisdictions.
  • Teams unwilling to operate repository and CLWL tuning—clusters need monitoring discipline.

Explainer: Phone Book Shared by Offices

Each office (queue manager) has desks (queues). The cluster is a shared phone book listing which office handles which desk name. When you mail to ORDERS.IN, the post office looks up the book and routes to the right office without you memorizing every street address.

Explain Like I'm Five: MQ Cluster

Lots of mail buildings share one big list of who handles which mailbox names. When you send to MAILBOX 5, the list tells which building to use—you do not need a separate map for every pair of buildings.

Practice Exercises

Exercise 1

Name five cluster vocabulary terms and define each in one sentence.

Exercise 2

When would two queue managers stay non-cluster?

Exercise 3

Sketch put flow from app on QM_A to queue on QM_B in cluster SALES.

Frequently Asked Questions

Frequently Asked Questions

Test Your Knowledge

Test Your Knowledge

1. A cluster is:

  • Named group of queue managers
  • One giant queue
  • Only for z/OS
  • A COBOL compiler

2. Cluster queues use attribute:

  • CLUSTER
  • XMITQ only
  • JCL class
  • SSLPEER only

3. Repository stores:

  • Routing metadata
  • All messages forever
  • Source code
  • FTP files

4. Clusters reduce need for:

  • Manual QREMOTE on every node
  • Any security
  • Listeners
  • Topics
Published
Read time18 min
AuthorMainframeMaster
Verified: IBM MQ 9.3 documentation