我即將建立一個新的系統,我想要最大的可用性!我將不得不使用Windows!如何實現高度的可用性?
我會讓客戶使用webservices與我的系統通話。我也會從周圍的系統獲取數據。這些數據使用消息傳遞,MQ系列和MSMQ提供。 系統將產生一些使用隊列發回周圍系統的數據。
後新的數據已經到了系統中不同的進程將使用這些數據做不同勢任務,如打印,寫入數據庫等
爲了實現高可用性我計劃有系統的兩個版本在兩臺不同的機器上並行運行。客戶端將嘗試使用正確響應的第一臺服務器。 我認爲理想的解決方法是將來自兩臺服務器中任何一臺服務器的輸入數據放在COMMON隊列中(在第三臺機器上?)。隊列中的數據可以被兩臺服務器上的進程拾取(請考慮生產者 - 使用者模式)。
我認爲也許NServiceBus會適合我的需要。根據上述我有幾個問題。
- 隊列可以在兩臺服務器之間共享嗎?我不希望數據卡在服務器上,如果它停下來的話。我希望其他服務器繼續處理。
- 不同機器上的兩個(或多個)「消費者」/進程是否可以從普通隊列中挑選數據?
歡迎任何建議!