Ibm mq Can WMQ';s SVR通道是否与多个RQSTR通道连接?
我们是WebSphere MQ新手,我们想知道是否可以在不同的QMGR中创建2+Ibm mq Can WMQ';s SVR通道是否与多个RQSTR通道连接?,ibm-mq,Ibm Mq,我们是WebSphere MQ新手,我们想知道是否可以在不同的QMGR中创建2+RQSTR通道,只连接服务器上的一个SVR通道,如: 频道名称:CH1(RQSTR)--->CH1(SVR) 然后在另一个QMgr上,另一个名为:CH1(RQSTR)--->CH1(SVR) 当我们尝试启动第二个CH1时,我们收到错误消息,如“通道正在使用” 我们查阅了很多文档和论坛,都说我们似乎可以创建一个RQSTR的多个实例,那么这些都可以通过一个SVR通道连接到我们的服务器吗?或者我们只需要在服务器上创建多达S
RQSTR
通道,只连接服务器上的一个SVR
通道,如:
频道名称:CH1(RQSTR)--->CH1(SVR)
然后在另一个QMgr上,另一个名为:CH1(RQSTR)--->CH1(SVR)
当我们尝试启动第二个CH1时,我们收到错误消息,如“通道正在使用”
我们查阅了很多文档和论坛,都说我们似乎可以创建一个
RQSTR
的多个实例,那么这些都可以通过一个SVR
通道连接到我们的服务器吗?或者我们只需要在服务器上创建多达SVR
的频道,以便RQSTR
配对?否。一个SVR
或SDR
频道一次只能连接到一个远程目的地。可以将多个QMgr上定义的SVR
或SDR
转化为单个QMgr上的单个RCVR
或RQSTR
在MQ集群中也是如此。QMgr的CLUSRCVR
接受来自集群中所有节点的连接。这些节点中的每一个都自动定义相同名称的匹配CLUSSDR
。因此,在集群中,将有一个名为cluster.QMGR
的入站通道和一个名为cluster.QMGR
的远程QMGR上的CLUSSDR
通道在事务性批处理中管理消息。出站通道有一个目的地,这样,如果批处理失败,它就知道为了协调事务必须连接到哪个远程节点。入站通道分别跟踪多个入站连接
RQSTR
/SVR
通道设计用于防火墙仅允许从内部启动连接的情况。为了获取入站消息,RQSTR
启动通道。这也意味着SVR
无法挂断套接字,并将接受来自任何可以启动它的RQSTR
的连接
将此与RQSTR
/SDR
对的行为进行对比。在这种情况下,SDR
从RQSTR
接收启动请求,然后立即关闭套接字并继续连接到其CONNAME
中的任何内容
当我有B2B通道连接时,我总是使用RQSTR
/SDR
对。我的RQSTR
可以启动业务合作伙伴的SDR
,如果我正在发送交易但没有消息返回,这通常很有用。如果我启动我的RQSTR
并打开通道,则排除了连接问题。如果消息随后通过,我知道另一端的应用程序已启动,但频道触发不起作用。如果频道启动但没有消息到达,我知道远程应用程序已关闭
然后,当我打电话给业务合作伙伴报告停机情况并能准确地告诉他们到底出了什么问题时,他们认为我是个天才。我这样做并不是为了让人们认为我是天才,但如果我的诊断通常是准确的,他们通常会更愿意接我的电话
RQSTR
频道是基于这样的假设而构建的,即您可以将其与SVR
一起使用,因此不具备ADOPTNEWMCA
功能。这是唯一不好的一面。如果网络总体上是可靠的,那么它不会有太多的负面影响,所以我经常使用RQSTR
/SDR
对
因此,综上所述,
SVR
通道并不打算同时连接到多个远程节点。它旨在一次连接到多个远程节点中的任意一个。由于任何正确配置的RQSTR
都可以启动SVR
,因此只有当您合法地需要将其指向运行时确定的不同位置且不更改频道定义时,才可以使用SVR
。否则,请在CONNAME
中对多个实例使用SDR
,或使用经典的SDR
通道,并在故障切换期间更改CONNAME
。非常感谢Rob,您刚刚救了我们一天!对于连接SVR的RQSTR,我们需要指定SVR的IP地址和开放端口,但由于我们的业务逻辑,我们无法在多个SVR端执行此操作。所以一开始我们考虑使用SVRCONN,但最终在“get”时出现了性能问题(1秒钟内5个get,太慢了)。如果你有更好的建议给我们,那将是完美的!再次感谢!我必须更好地理解用例。如果您愿意,请随时直接与我联系(电子邮件在个人资料中),但一旦我们解决了细节问题,最好在这里为其他人记录问答。听起来你要么想要一个集群,要么想要一个B2B网关。另见: