qubs是什么问与IBM MQ重叠的MQ集群和应答消息传递EN

新闻资讯2026-04-23 15:24:12

我有两个集群CLUSMESCLUSHUBS。每个集群都有两个队列管理器。

集群CLUSMES有QMGRS:QMGR1AQMGR1B

集群CLUSHUBS有QMGRS:QMGR3AQMGR3B

有一个Gateway QMGR:QMGR2,它形成了重叠,是每个MQ集群中的部分存储库。

请求消息通过QMGR2从任一QMGR1A/B发送到任一QMGR3A/B,它充当QMGR3A/B的集群负载平衡(这工作得很好),并期望向发送QMGR返回回复。

所有通道连接都已就位且功能齐全。问题是如何从消息的来源返回消息。应答QMGR连接到QMGR3A/B并发出put。我将得到REMOTE_QMGR not found (MQRC 2087)或MQ Object not found (MQRC 2085),这取决于我如何配置它。消息的消息头包含正确的ReplytoQueueReplyToQMgr。我希望应答应用程序只发出一个put,并将其发送到CLUSMES中的适当队列,但这被证明是极其困难的。我在GateWay Qmgr:QMGR2上玩过远程QMGR Alias和QAlias,但没有运气。这必须有一个简单的技巧,有很多例子,但我还没有成功地实现一个。一个清晰的例子来说明我的返回路径应该是什么,这将是最有帮助的。请记住,ReplyToQMgr位于MQMD中,需要从中进行解析。我需要在QMGR2级别进行解析,其中两个集群都是已知的。具体,充分的建议,感谢。

QMGR1A/B上的MQ定义,期望得到回复:

DEFINE QLOCAL('SERVER.REPLYQ') CLUSTER('CLUSMES') 

在QMGR2上(消息希望的网关)

DEFINE NAMELIST(CLUSTEST) NAMES(CLUSMES,CLUSHUBS)

DEFINE QALIAS(SERVER.ALIAS.REPLYQ) TARGQ(SERVER.REPLYQ) CLUSTER(CLUSTEST) DEFBIND(NOTFIXED)

DEFINE QREMOTE(QMGR1A) RNAME(' ') RQMNAME(QMGR1A) XMITQ('') CLUSTER(CLUSHUBS)
DEFINE QREMOTE(QMGR1B) RNAME(' ') RQMNAME(QMGR1B) XMITQ('') CLUSTER(CLUSHUBS)

在MQMGR3A/B QALIAS(SERVER.ALIAS.REPLYQ)集群队列上。网关QMGR无法解析baseQ: mqrc_unknown_alias_base_q 2082

这是尝试使用集群解决问题时的配置。