2009-09-09 53 views
2

我正在構建一個客戶端 - 服務器應用程序,我正在尋找將故障轉移添加到客戶端,以便在服務器關閉時嘗試連接到另一個可用服務器。是否有涵蓋服務器故障轉移的標準或規範?我寧願採用現有的標準,而不是實施我自己的機制。服務器故障切換是否有任何開放標準?

+1

某些客戶端 - 服務器協議包含故障切換...您在使用什麼? – skaffman 2009-09-09 22:23:36

+0

通過TCP的專有協議 - 雖然我們可以切換到別的東西 - 也許XMPP? – Supertux 2009-09-09 22:27:19

+0

如何使用HTTP?容易做故障轉移那裏.... – skaffman 2009-09-09 22:27:58

回答

1

我不存在,或者需要任何。它非常簡單直接,取決於你如何連接服務器,但基本上你需要隨時隨地發送ping/keepalives/heartbeats,當發生失敗時(或者n連續失敗,如果你想要)改變你的配置中的開關。

通常,上述操作將作爲客戶端計算機上的單獨服務運行。 Altenativly,你可以創建一個方法執行處理程序來處理所有服務器調用的執行,並且在通信失敗時,在你的'catch'塊中,在配置中輕擊你的交換機

0

這通常在負載平衡器或服務器級別。這不是您通常在客戶端的代碼中執行的操作。

通常情況下,您將多臺服務器各自擁有自己的IP +,並在所有服務器之間共享。此外,他們通過tcp彼此通信以獲取心跳,從而知道哪個是主動/被動羣集中的主動節點。

我不知道你有什麼類型的服務器,但大多數的Windows服務器可以做到這一點原生。

您可能會考慮在serverfault上提問以查看如何正確配置服務器以支持此問題。