需求五、當系統掛掉後,可第一时間切換到備用系統,避免對使用系統的使用者,造成困擾。
原先,直接對 Node 放入或取回資源,但若 Node 異常終止時,所有相依的服務都會發生異常。為了確保 Node 的服務可以持續服務,前面規劃利用 Manager
與 Agent
的組合,達到自動啟動的機制。
但是這樣還是無法滿足持續服務的目標。因為從服務異常終止到重啟提供服務這段空窗期,對其他相依服務而言,都會造成服務無法正確運行。
將 Node 視為一個單純的服務節點。
接著,將存取 Node 的操作左移,外部所有的操作請求都送到 Service Guide
,由 Service Guide
負責所有操作的請求,導向目前可運行的 Node。另一方面,Node 就避開外部直接對它的操作。
接著規劃備援的機制,在斷開 Node 與外界直接的關連後,就保留了更多的操作空間。
我們將原本的 Node 稱為 Master Node
,並另外建立一個 Node,稱為 Slave Node
。在 Master Node 發生異常時,直接將所有的請求,從導向 Master Node 切換導向 Slave Node。
切換的夠即時,理論上,可以將服務異常終止的影響減到最小。對外部請求存取的服務而言,它們可能完全不知道相依的服務有發生過異常。