TL; DR將現有的JNDI HornetQ服務作爲HA的步驟?
使用HornetQ設置配置HA-JNDI服務的步驟是什麼?我相信這些文檔有點分散。我已閱讀文檔here,但似乎沒有詳細說明。
加長版:
因此,我們有一個HornetQ的JMS設置與JNDI一起。我們說5臺服務器,每臺服務器都運行帶有JNDI服務的HornetQ JMS主實例。在這5臺服務器上,我們也有一臺爲其他HornetQ主站運行的從站。
爲了說明:
Server A - HornetQa_master, JNDI, HornetQb_slave
Server B - HornetQb_master, JNDI, HornetQc_slave
Server C - HornetQc_master, JNDI, HornetQd_slave
Server D - HornetQd_master, JNDI, HornetQe_slave
Server E - HornetQe_master, JNDI, HornetQa_slave
這些HornetQ的服務器充當中間件我們各種後端需求中的每一個,從而使裝置5級的服務器,5個HornetQ的主實例中,5個HornetQ的從屬實例和5臺JNDI服務器。然而,這種設置的問題是,如果服務器主機(不僅僅是進程,主機本身)說A出現故障,理想情況下該服務應該回退到服務器E上運行的HornetQ,該服務器託管着A的HornetQ從服務器。但是,要恢復爲HornetQ master,HornetQa_slave需要與運行在服務器A上的JNDI進程交互(我假定要複製消息)。由於主機A本身已關閉,運行在E上的HornetQa_slave無法與A上的JNDI對話,因此無法恢復爲主進程。
如果JNDI服務高度可用,從屬HornetQ進程可以按預期的方式恢復爲主服務器。任何人都可以通過簡單的步驟指出文檔或說明我們如何將現有設置轉換爲HA-JNDI?對於它的價值,我已經閱讀了多個sources,但似乎沒有詳細說明如何開始配置HA-JNDI。如果您需要有關我們當前設置的更多信息,請告訴我。
感謝
你的客戶在哪裏運行?它們運行在相同的AS實例上還是來自另一個實例/ JVM,或兩者都運行? – jjhavokk
@jjhavokk他們將在另一個JVM上運行 – gravetii
您是否可以在高可用性模式下啓用HornetQ(主動 - 被動複製)?再加上服務器動態發現,你應該有可靠的回退。參見http://docs.jboss.org/hornetq/2.4.0.Final/docs/user-manual/html/ha.html 和 http://docs.jboss.org/hornetq/2.4.0.Final /docs/user-manual/html/clusters.html – diginoise