2010-06-17 111 views
1

我们拥有5000多个客户端,10个网关服务器和6个后端服务器。网关和后端服务器都在同一个群集中。如果在客户端和gaetway服务器上使用v7.0.1,如果使用CCDT,是否可以实现循环负载均衡?我们希望即使在所有10个网关服务器上也能分配负载。负载均衡客户端连接

谢谢

+0

尽管我确实是在WebSphere MQ部分露面,但最好不要直接向我提出您的问题。其目的是要获取有益于更大社区的问答环节,如果我们退化为个人对话,其他读者将倾向于忽视您的帖子。如果我有更多的代表,我会自己编辑你的pst来删除我的名字。请在有机会时这样做。不过,我确实添加了一些标签。不要忘记接受正确的答案,以鼓励他人回复你的帖子! – 2010-06-18 13:26:13

回答

2

很好,你在客户端和服务器端都使用WMQ v7.0.1!获取负载均衡的技巧在于如何标记CCDT中的通道。当您构建CCDT文件时,QMNAME参数不需要与实际的QMgr名称匹配。实际上,将它称为QMNAME是相当不幸的,因为它导致了它与客户端连接到的QMgr名称之间存在某种关联的期望。实际上,它只是客户端应用程序在搜索CCDT时使用的索引。

所以当你为你的10个QMgrs建立CCDT时,每个都需要一个不同的通道名称,但是所有的名字都使用相同的QMgr名称。例如,

DEF CHL(QMGR01.CLNT) CHLTYPE(CLNTCONN) QMNAME(GTWY.QMGR) 
DEF CHL(QMGR02.CLNT) CHLTYPE(CLNTCONN) QMNAME(GTWY.QMGR) 
... 
DEF CHL(QMGR10.CLNT) CHLTYPE(CLNTCONN) QMNAME(GTWY.QMGR) 

然后,当应用程序需要连接时,它指定GTWY.QMGR作为QMgr名称。这解析为通道条目组。

好吧,这样可以让您进行故障转移,但不会进行负载平衡。为了获得负载均衡,您需要按照Examples of Channel Weighting and Affinity部分中的V7文档中所述设置CLNTWGHT和AFFINITY参数。我建议通读整个父节Connecting WebSphere MQ client applications to queue managers,尤其是CCDT和MQCONN的章节。