2011-10-17 44 views

回答

0

你想要master-slave哈? http://activemq.apache.org/masterslave.html

在一個 網絡中運行大量的獨立經紀公司或經紀人的問題是,消息是由一個單一的物理經紀人在任何時間 點資。如果該經紀人宕機,則必須等待它在發送消息之前重新啓動 。 (如果您正在使用 非持久性消息,並且經紀人宕機,則通常會丟失您的消息 )。

背後MasterSlave的想法是,消息被複制到從 經紀人,這樣即使你有 大師的機器,文件系統或數據中心的災難性的硬件故障,您立即獲得 故障轉移到從沒有消息失利。

這裏更多:http://activemq.apache.org/replicated-message-store.html

+0

這是我目前使用的,但我想使用分佈式羣集和阻止點是消息丟失 – xiu

+0

我不明白。你已經使用了郵件複製或者只是幾個經紀人? – kan

0

創建一個代理網絡,每一個經紀人的奴隸(例如直接複製)。 這樣,如果主設備出現故障,從設備可以加入代理網絡並採取其以前主設備的位置。根據您選擇的複製方案,以前的主代理甚至可能會恢復並重新加入作爲從節點的新主節點。

例如:direct replicationnetwork of brokers

據我知道它不可能「力」 ActiveMQ的存儲未決的消息冗餘的多家券商。

0

是的,您使用共享消息存儲並使多個代理使用該存儲來執行此操作。這些經紀人中只有一個會在任何時候活躍 - 首先連接到商店的經紀人。這是通過鎖來管理的。當活躍的經紀商跌破第二個經紀商時,將取得鎖定,然後它變爲活動狀態,處理商店中未由第一個經紀商發送的任何消息。客戶端(生產者和消費者)通過連接字符串

failover:(tcp://broker1Host:broker1Port,tcp://broker2Host:broker2port) 

只有擁有鎖將接受連接代理連接到代理對,因此故障轉移字符串指定客戶端應嘗試連接到在未來的經紀人列表。使用這種機制,如果主站發生故障,甚至可能有多個從站等待接管。

您可以找到有關這個在http://activemq.apache.org/shared-file-system-master-slave.html詳細信息,如果您有機會到支持鎖(如SAN或NFS),或網絡文件系統,如果沒有,你可以使用一個數據庫作爲郵件存儲http://activemq.apache.org/jdbc-master-slave.html

相關問題