2010-06-17 156 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的章節。