MSMQ冗餘
回答
關於在企業中使用MSMQ here有一篇很好的文章。
提示8是你應該閱讀的。
「使用微軟的Windows羣集工具,如果其中一臺隊列服務器機器停止正常運行,隊列將從一臺機器故障轉移到另一臺機器,故障轉移進程將隊列及其內容從故障機器移至備用機器。但根據我的經驗,很難正確配置和發生故障,另外,爲了運行Microsoft的Cluster Server,您還必須運行Windows Server Enterprise Edition - 這是一個昂貴的操作系統,可以進行許可。
使用Microsoft Cluster Server的一種替代方法是使用第三方IP負載平衡解決方案,其中有幾種可以在市場上買到,這些設備連接到您的網絡ork就像標準的網絡交換機一樣,一旦配置完成,就可以在配置的設備間負載均衡IP會話。爲了對MSMQ進行負載均衡,您只需在負載平衡設備上設置虛擬IP地址,並將其配置爲負載平衡端口1801.要連接到MSMQ隊列,發送應用程序會指定由負載平衡託管的虛擬IP地址設備,該設備然後在承載接收應用程序的配置機器上高效地分配負載。這不僅增加了您可以處理的消息的容量(通過讓您只需將更多計算機添加到服務器場),還可以保護您免受服務器故障導致的停機事件的影響。
要使用硬件負載平衡器,需要在每個配置爲用於負載平衡的服務器上創建相同的隊列,讓負載平衡器將發送應用程序連接到組中的任何一臺計算機。要添加額外的健壯性層,您還可以配置所有接收應用程序以監視組中所有其他計算機的隊列,這有助於防止在一臺或多臺計算機不可用時出現問題。在遠程計算機上進行這種隊列監視的成本很高(從本地隊列中讀取消息幾乎總是更有效),但額外的可用性水平可能是值得的。「
不是諷刺,而是你如果服務器不可恢復,則無法恢復消息
這就是說,您可能需要定期備份消息文件夾。本TechNet文章會告訴您如何執行它:
http://technet.microsoft.com/en-us/library/cc773213.aspx
而且,它不會備份快遞messag這是你必須注意的事情。
如果您願意,您可能希望將收到時用於處理的實際消息存儲在數據庫中,並使服務成爲生產者/消費者模式中的消費者。
- 1. CLR類冗餘
- 2. Sendrecv_replace冗餘?
- 3. 冗餘實例
- 4. 冗餘驗證?
- 5. 刪除冗餘
- 6. 冗餘鑄造
- 7. Python的冗餘
- 8. HDFS和冗餘
- 9. 找出冗餘
- 10. 冗餘列
- 11. 冗餘式
- 12. 冗餘代碼
- 13. AppFabric的冗餘
- 14. 冗餘斷言
- 15. 冗餘繼承?
- 16. 負載冗餘
- 17. Eslint冗餘警告
- 18. 從冗餘列表
- 19. HDFS冗餘副本
- 20. 冗餘MySQL索引?
- 21. 冗餘使用.delete()
- 22. Lisp中的冗餘
- 23. OSSEC冗餘集成
- 24. SQL冗餘結果
- 25. Erlang:MNesia:實現冗餘?
- 26. 冗餘__packed__屬性
- 27. R:semPLS冗餘()函數
- 28. 重構冗餘DAO
- 29. data.table對象冗餘
- 30. Selenium Hubs的冗餘