在分佈式activemq羣集中,如果某個節點發生故障,則其消息將丟失,直到它恢復爲止。即使節點失敗,是否有辦法繼續分發這些消息?有沒有辦法在分佈式ActiveMQ集羣中故障切換消息?
回答
你想要master-slave
哈? http://activemq.apache.org/masterslave.html
在一個 網絡中運行大量的獨立經紀公司或經紀人的問題是,消息是由一個單一的物理經紀人在任何時間 點資。如果該經紀人宕機,則必須等待它在發送消息之前重新啓動 。 (如果您正在使用 非持久性消息,並且經紀人宕機,則通常會丟失您的消息 )。
背後MasterSlave的想法是,消息被複制到從 經紀人,這樣即使你有 大師的機器,文件系統或數據中心的災難性的硬件故障,您立即獲得 故障轉移到從沒有消息失利。
這裏更多:http://activemq.apache.org/replicated-message-store.html
創建一個代理網絡,每一個經紀人的奴隸(例如直接複製)。 這樣,如果主設備出現故障,從設備可以加入代理網絡並採取其以前主設備的位置。根據您選擇的複製方案,以前的主代理甚至可能會恢復並重新加入作爲從節點的新主節點。
例如:direct replication內network of brokers
據我知道它不可能「力」 ActiveMQ的存儲未決的消息冗餘的多家券商。
是的,您使用共享消息存儲並使多個代理使用該存儲來執行此操作。這些經紀人中只有一個會在任何時候活躍 - 首先連接到商店的經紀人。這是通過鎖來管理的。當活躍的經紀商跌破第二個經紀商時,將取得鎖定,然後它變爲活動狀態,處理商店中未由第一個經紀商發送的任何消息。客戶端(生產者和消費者)通過連接字符串
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
- 1. 集羣節點的libmemcached故障切換
- 2. Redis羣集:沒有自動故障轉移爲主故障
- 3. 跨羣集的分佈式隊列中的所有JMSs消息
- 4. 有沒有辦法控制集羣中節點間火花分區的分佈?
- 5. 有關如何處理ejabberd羣集故障切換的任何建議?
- 6. 有沒有辦法切換JavaScript文件?
- 7. 有沒有辦法在整個集羣中啓用setSlaveOkay
- 8. EasyNETQ集羣 - 發佈消息
- 9. RabbitMQ集羣節點故障
- 10. 有沒有辦法讓所有註冊的消息轉換器?
- 11. Redis故障切換
- 12. jQuery切換故障
- 13. Apache Camel:有沒有什麼辦法可以在沒有在bean方法中注入交換的情況下將消息設置爲故障?
- 14. 使用故障消息無法處理WSO2 ESB中的故障
- 15. Redis副本集故障切換,Celery
- 16. 可以在沒有SAN的情況下設置Windows Server 2008 MS故障切換羣集?
- 17. 有沒有辦法在phpbb 3.1.x論壇上切換羣組圖例位置?
- 18. Cross-colo故障切換設計,DNS級別故障切換?
- 19. 具有故障轉移羣集的HazelcastClient具有相同的HazelcastIstance
- 20. 分段故障問題,GDB消息
- 21. 沒有負載平衡器的Glassfish故障切換
- 22. 有沒有辦法在for語句中切換變量?
- 23. 有沒有辦法在gnu中打印最終消息
- 24. 有沒有辦法在Microsoft Graph API中解密Outlook消息ID?
- 25. 有沒有辦法在IOS中傳遞消息?
- 26. 有沒有辦法在Django 1.7中重寫MinLengthValidator錯誤消息?
- 27. 有沒有辦法在Android中更改語音郵件消息?
- 28. 有沒有辦法在oracle中更改異常消息?
- 29. 的RabbitMQ - 有沒有辦法回到舊消息在隊列中
- 30. 有沒有辦法在MFC中禁用消息框?
這是我目前使用的,但我想使用分佈式羣集和阻止點是消息丟失 – xiu
我不明白。你已經使用了郵件複製或者只是幾個經紀人? – kan