2013-10-24 68 views
2

如果我想在分佈式環境(跨集羣中的兩臺機器)中設置Websphere MQ,那麼隊列和主題(我理解爲消息的物理存儲空間)在兩臺機器上創建?Websphere MQ在集羣環境中創建重複隊列

或者只會在一臺機器上創建隊列和主題,但程序(我猜它叫做websphere MQ代理)將部署在2臺機器上,兩個實例都將訪問相同的隊列和主題。

回答

1

不,如果您沒有(手動),MQ不會在羣集中創建重複隊列。

此外,檢查你的隊列管理器是否是部分存儲庫或爲集羣全庫

部分存儲庫僅包含有關其自己對象的信息,而完整存儲庫將包含有關集羣中所有隊列管理器的對象的信息。

集羣至少需要一個完整的存儲庫,其他部分存儲庫可以使用此完整存儲庫訪問其他隊列管理器的對象。

但是,完整存儲庫中的對象信息只是一個列表。實際的物理對象將只存在於創建它的隊列管理器中。

+0

謝謝。你還可以解釋隊列管理器和websphere mq經紀人之間的區別 – Victor

3

WebSphere MQ中的集羣概念與傳統的高可用性(HA)集羣不同。在傳統HA羣集中,兩個系統訪問相同的存儲/數據以提供HA功能。這兩個系統都可以配置爲隨時處於活動狀態並處理請求。您還可以擁有主動/被動類型的HA配置。

與傳統HA羣集不同,WebSphere MQ羣集不同。兩個隊列管理器不共享相同的存儲/數據。每個隊列管理器是唯一的。 WebSphere MQ集羣比HA更適合工作負載平衡。您可以在MQ集羣中的多個隊列管理器中擁有一個具有相同名稱的隊列,並且在放置消息時,MQ集羣將負載平衡它們到該集羣中的所有隊列。應該注意,羣集中每個隊列中的消息都是獨立的,不共享。如果由於某種原因集羣中的某個隊列管理器出現故障,則該隊列管理器中的消息將變爲不可用,直到隊列管理器恢復爲止。

您是否瞄準工作負載平衡或HA?如果您的目標是實現HA,那麼您可以查看MQ或任何其他HA解決方案的多實例隊列管理器功能。如果您打算實現工作負載平衡,那麼您可以進行MQ集羣。您還可以混合使用多實例隊列管理器和MQ集羣來實現HA和工作負載平衡。

+0

謝謝。所以當你說'兩個隊列管理器不共享相同的存儲/數據'時,這意味着每個隊列管理器都有自己的隊列?我問,因爲öhrhr答案指出,隊列將不會重複。 – Victor

+0

是的。隊列管理器QM1中的隊列名稱Q1與另一個隊列管理器QM2中具有相同名稱Q1的另一個隊列完全不同。您可以在隊列管理器中擁有多個隊列。隊列管理器是隊列的容器並管理隊列。 – Shashi