2015-12-21 52 views
0

我正在使用IBM WebSphere MQ 7.5服務器作爲我的應用程序的隊列管理器。
我已經通過單個隊列接收數據。隊列數據發佈/複製

另一方面,有3個應用程序想要處理數據。
我有3種解決方案在它們之間複製/分發數據。

  1. 使用代理複製1到3隊列 - 我沒有代理,所以它無法訪問我。
  2. 編寫一個應用程序以從隊列中獲取並將它們放入同一機器上的其他3個隊列中
  3. 定義發佈/訂閱定義以將輸入隊列發佈到同一機器上的3個隊列。

我想知道哪些方法(2 & 3)是首選,並且具有更高的性能和可接受的操作管理工作量。

回答

0

根據描述我會說PubSub會實現目標;嘗試用純PubSub術語思考,而不是考慮隊列。即您有一個應用程序發佈到一個主題,然後有3個應用程序,每個應用程序都有自己的訂閱以獲取消息的副本。

然後,您就可以靈活地定義耐用/非持久下標。

0

有關選項#2中,有(至少)可2種溶液:

  1. 有一個稱爲MMX(消息多路複用器)的開放源應用程序。它將完成你所描述的內容。唯一的問題是你需要管理應用程序。即如果停止隊列管理器,則應用程序需要手動重新啓動。
  2. 有一個名爲MQ Message Replication的商業解決方案。它是一個在隊列管理器中運行的API Exit,並且完全按照您的需要進行。注意:在隊列管理器中運行時沒有任何外部可管理。
+0

當隊列管理器啓動時,您可以使用服務對象來啓動外部應用程序:http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.adm.doc/q020970_熱媒?LANG = EN –

-1

我認爲有另一種解決方案,只有MQ,以限定名稱列表,這將反映到隊列1和隊列2隊列3 謹來定義:源,目標,的QueueManager。

希望它是有用的。

Biruk。