WebSphere MQ集群影响队列管理器之间如何进行对话的行为.它不会改变应用程序连接或与队列管理器进行通信的方式,因此所提出的问题似乎是假设某种群集行为在WMQ中不存在.
如果您在连接工厂中指定了有效的QMgr名称,并且应用程序连接到的QMgr没有该特定名称,则连接将被拒绝.通常,多实例CONNAME用于连接到多实例QMgr.这是一个单一的高可用性队列管理器,可以位于两个不同的IP地址之一,因此在这种情况下使用真实的QMgr名称是可行的.但是,如果您的应用程序连接到的QMgr是两个不同且名称不同的队列管理器(即您所描述的),则应在连接工厂中指定一个星号(*字符)作为队列管理器名称,如here所述.应用程序在获得连接时将不检查QMgr名称的方法.
If I pick one of the MQ detail, will MQ clustering still work? If not,
how will I enable MQ clustering given the details I have?
取决于您所说的“聚类”.如果您认为该应用程序将看到一个由两个队列管理器托管的逻辑队列,则不会.这不是WMQ群集的工作方式.承载集群队列的每个队列管理器都会获取发送到该队列的消息的子集.因此,从该队列中获取的所有应用程序都只会看到本地子集.
但是,如果您打算通过“集群化”来交替连接到两个队列管理器中的一个或另一个,并且将消息传输到位于同一集群中但未托管在要连接的两个QMgr中的一个上的队列中,那么可以会很好的工作.如果您的连接工厂仅知道两个QMgr之一,则您将仅连接到该QMgr,并且向群集发送消息仍然可以进行.但是,请按照我提供的链接中的说明进行设置,您的应用程序将能够连接到两个QMgr之一,并且您可以通过停止其连接到的一个通道并观察它连接到另一个通道的方式来轻松地进行测试一.
祝好运!
更新:
To be clear the detail provide are similar to hostname01, qmgr01,
queueA, serverchannel01. And the other is hostname02, qmgr02, queueA,
serverchannel02.
仅在以下情况下,WMQ客户端才会使用多实例CONNAME连接到两个不同的QMgr:
>两个QMgr上使用的通道名称完全相同
>发出连接请求时(即在连接工厂中),应用程序使用星号(*字符)或QMgr名称的空格.
通过使用客户端连接定义表(也称为CCDT),可以使WMQ连接到几个不同的队列管理器之一,其中每个通道管理器的通道名不同. CCDT是您使用MQSC命令创建的编译工件,以定义CLNTCONN通道.它包含客户端有资格连接到的每个QMgr的条目.每个可以具有不同的QMgr名称,主机,端口和通道.但是,在定义CCDT时,管理员会定义所有条目,以便将QMgr名称替换为应用程序“高级限定符”.例如,薪资应用程序要连接到3个不同的QMgr中的任何一个. WMQ管理员使用三个条目定义了一个CCDT,但QMgr名称使用PAY01,PAY02和PAY03.请注意,这不需要匹配实际的QMgr名称.然后,应用程序将QMgr名称指定为PAY *,这将选择CCDT中的所有三个QMgr.
Is MQ cluster not similar to application server clusters?
一点都不.
Wherein two-child nodes are connected to a cluster. And an F5 URL will
be used to distribute the load to each node. Does not WMQ come with a
cluster url / f5 that we just send message to and the partitioning of
messages are transparent?
否.WMQ群集提供了一个名称空间,应用程序和QMgrs可以在该名称空间中解析非本地对象,例如队列和主题.连接到WebSphere MQ集群的唯一一件事就是队列管理器.应用程序和人工用户始终连接到特定的队列管理器.可能有一组可互换的队列管理器,例如CCDT,但每个都是独立的.
使用WAS,消息传递引擎可以在多个节点上运行,但是它提供了一个逻辑队列,应用程序可以从中获取消息.使用WMQ,承载该队列的每个节点都可以获取消息的子集,而使用这些消息的任何应用程序都只能看到该子集.
HTTP是无状态的,因此F5 URL非常有效.当它确实维护会话时,该会话的存在主要是为了优化连接开销,并且寿命很短. WMQ客户通道是有状态的,可以协调单阶段和两阶段的工作单元.如果应用程序在UOW期间故障转移到另一个QMgr,则它无法协调该UOW.
由于WMQ连接的性质,QMgr之间从未使用F5.它仅在客户端和QMgr之间用于连接平衡,而不用于消息流量平衡.此外,不存在或不存在MQ集群对于应用程序是完全透明的,在任何一种情况下,该应用程序都简单地连接到QMgr以获取和/或放置消息.多实例CONNAME或CCDT文件的使用通过提供客户端可以连接到的多个等效QMgr来使连接更可靠,而QMgr与WMQ群集无关.
有帮助吗?
请参见: