2013-01-09 71 views
0

我們託管具有獨立集羣JMS服務器的集羣應用程序服務器。 JMS服務器是主動/被動(共享存儲)並使用操作系統集羣時,應用程序服務器是主動/主動和負載平衡。這意味着從客戶角度來看,每個端點只有一個端點。JMS集羣:主動/被動

現在我們的任務是連接到外部JMS集羣(主動/被動),但看起來他們希望我們在JMS客戶端實現故障切換,換句話說:如果可能,連接到主服務器,故障切換到如有必要,則爲次要

冒着聽起來無知的風險,我從來沒有見過這樣的設置,但一些谷歌搜索似乎表明,這似乎是或多或少JMS的標準做法。

然後,我的問題是:爲什麼JMS提供者似乎更喜歡「客戶端集羣」,如果您願意,而不是傳統的負載平衡或其他服務器端集羣方法?這確實是一個行業標準嗎?

回答

0

我只使用JMS的主動/主動集羣,其中兩臺服務器獲取每條消息(它們彼此通信以保持同步)。他們沒有像在不同的數據中心那樣共享磁盤子系統。客戶端配置有兩臺服務器,但一次只能連接一臺服務器。 (通常是本地JMS服務器)故障轉移對客戶端來說是透明的。

我還看到配置有兩個本地服務器和一個非本地服務器,因此一臺服務器的故障不需要通過WAN連接到另一個數據中心。我自己並沒有設置這樣的配置。

對於系統管理員來說,使用共享存儲器聽起來很酷,但它的缺點是它對軟件不那麼透明。如果你有一個應用程序支持故障自己,這是更好的恕我直言。即如果服務沒有故障轉移,我只會使用共享存儲。

1

現在我運行MySQL集羣多開MQ看到此鏈接(http://mq.java.net/OpenMQ_MySQLCluster_Setup_Guide.html)

對於這個服務器拓撲上,你可以連接到任何節點(經紀人1 ,broker2)如果你在EJB容器上運行只是配置(取決於你使用的中間層),當某個節點死亡時它會自動切換容器。