冗餘(Redundancy)#
冗餘是指複製關鍵資料或服務,以提升系統的可靠性(Reliability)。
- 若某個檔案只存在單一伺服器上,該伺服器一旦故障,檔案就會遺失
- 為避免資料遺失,可以建立檔案的重複副本(Redundant Copies)
資料遺失幾乎不會是可接受的結果,因此冗餘是系統設計中的基本要求。
同樣的原則也適用於服務:
- 若系統中有一個關鍵服務,確保多個副本或版本同時運行,可以防止單一節點故障造成的影響
- 冗餘能消除單點故障(Single Point of Failure),在危機時提供備援
故障轉移(Failover)#
若有兩個服務實例同時在生產環境中運行,當其中一個故障或效能下降時,系統可以故障轉移到另一個實例。故障轉移可以:
- 自動觸發——系統偵測到故障後自動切換
- 手動操作——由管理人員介入處理

圖 7.1:故障轉移(Failover)架構圖
複寫(Replication)#
服務冗餘的另一個重要面向是建立 Shared-Nothing 架構:
- 每個節點都能獨立運作,不依賴其他節點
- 不應有任何中央服務來管理狀態或協調其他節點的活動

圖 7.2:資料複寫(Replication)架構圖
Shared-Nothing 架構的優勢:
- 擴展性佳——新伺服器可以直接加入,不需要特殊條件或知識
- 容錯性強——沒有單點故障,系統對故障的抵抗力更高