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.
| Term | Meaning | Example |
|---|---|---|
| Cluster name | Logical group identifier | PROD.PAYMENTS |
| Cluster member | Queue manager in the cluster | QM_LON, QM_NYC |
| Repository | Catalog of cluster object knowledge | Full or partial REPOS role |
| Cluster queue | QLOCAL published to cluster | ORDERS.IN CLUSTER(SALES) |
| CLUSRCVR / CLUSSDR | Inbound/outbound cluster channels | Auto-created between members |
| CLUSQM | Queue manager alias in cluster | Hide physical QM name |
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.
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.
12345ALTER 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
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.
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.
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.
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.
Name five cluster vocabulary terms and define each in one sentence.
When would two queue managers stay non-cluster?
Sketch put flow from app on QM_A to queue on QM_B in cluster SALES.
1. A cluster is:
2. Cluster queues use attribute:
3. Repository stores:
4. Clusters reduce need for: