Sun Cluster 資料服務開發者指南 (適用於 Solaris 作業系統)

使用 TCP 持續作用來保護伺服器

在伺服器端,使用 TCP 持續作用來保護伺服器避免因當機的 (或網路分割的) 用戶端而消耗系統資源。如果沒有清除長時間當機的伺服器中的資源,則最終在用戶端當機和重新啟動時,消耗的資源會無限制地增長。

如果主從式通訊使用 TCP 串流,則用戶端和伺服器均應該啟用 TCP 持續作用機制。甚至在非 HA 的單一伺服器情形下,此規定也適用。

其他導向連接協定也可以具有持續連接機制。

在用戶端一端,使用 TCP 持續作用啟用用戶端,以在網路位址資源從一個實體主機容錯移轉或切換保護轉移至其他實體主機時得到通知。網路位址資源的該傳送會中斷 TCP 連接。然而,除非用戶端已啟用持續連接,否則,如果當時連接突然中斷,該用戶端未必會獲悉連接中斷。

例如,假定用戶端等待伺服器對長時間要求的回應,用戶端的要求訊息已經到達伺服器,並且在 TCP 層已對該訊息做出回應。在此情形下,用戶端的 TCP 模組無需持續重新傳輸請求。而且,用戶端應用程式被鎖定,等待對請求的回應。

如果可能,除使用 TCP 持續作用機制之外,用戶端應用程式還必須在其層級上執行自己的定期持續作用。TCP 持續作用機制並非適用於所有可能界限內的情況。使用應用程式層級的持續作用通常要求主從式協定支援空作業或至少一個有效的唯讀作業,例如狀態作業。