2016-05-12 26 views
-1

我正在開發Windows服務(.NET,C#)。非功能性要求之一是確保此Windows服務的高可用性。我明白,在故障轉移羣集上安裝此Windows服務將使其具有高度可用性。要在羣集上安裝此服務,是否需要在此服務中編寫任何特定的代碼?我聽說過羣集感知服務,但是我還沒有遇到任何文章解釋如何開發羣集感知的Windows服務。是否真的需要將Windows服務安裝到羣集上?高度可用的Windows服務

回答

1

首先這個問題非常廣泛,但這裏是我的兩分錢。

這取決於服務。如果你的服務同時執行多個實例沒有破壞它的目的,那麼你不需要什麼都不做,如果只有一個服務被執行,那麼你必須協調這些實例(udp廣播消息可能是? )只有一個活動,並且在活動的實例停止啓動另一個活動的情況下。

集羣只是一堆具有相同目的的機器(是的,有很多東西,但是對於這種情況,比較就足夠了),所以認爲它就好像您在本地運行該服務網絡在多臺機器上。

+0

在任何時間點只有一個服務實例正在運行。如果一個失敗,另一個應該自動開始運行。這如何實現? – Thomas

+0

正如我所描述的,所有的服務必須在運行,但只有一個是活動的,其他服務器會等待出現故障的情況,那麼你必須創建一個協調所有正在運行的服務的機制,例如活動服務必須每個如果非活動服務在X秒內沒有收到該廣播,那麼下一個服務將變爲活動狀態,同樣的技術再次適用,廣播,等待,沒有數據包,X秒到達網絡的數據包?新的服務活動。 – Gusman

相關問題