2014-01-16 84 views
1

我有兩個關於ActiveMQ的問題。ActiveMQ中的多個代理和故障轉移

  1. 在我的環境中,我在3個服務器中設置了3個ActiveMQ並共享一個數據庫。是否有可能在3臺服務器上運行3個ActiveMQ來共享相同的數據庫?我試圖設置它。但是,它看起來像3個經紀人不能共享相同的數據庫。這是對的嗎?
  2. 此外,我做了一些故障轉移測試,它看起來像ActiveMQ不能保證消息順序。例如我將3個ActiveMQ設置爲ServerA,ServerB和ServerC。然後,我將MessageA,MessageB發佈到ServerA中,並將MessageC發佈到ServerB中。 ServerA ServerB和ServerC已被設置爲故障轉移服務器。當我關閉ServerA時,唯一的MessageC可以被使用。但是,消費的消息順序應該是MessageA,MessageB和MessageC。即使通過ServerA關閉,我也需要保持這個消息順序。是否可以配置ActiveMQ以保證故障轉移的消息順序?

謝謝!

回答

0
  1. 您可以將所有3設置爲相同的數據庫。它們將扮演主從故障轉移的角色。只有一個實例將運行,另外兩個將等待數據庫鎖定接管。

  2. 如果按照#1,這將保證順序,但你將使用一臺服務器在同一時間(和集中數據庫作爲存儲)