這項參考架構最適合下列用途:
- 除了區域防護之外,您還需要區域性防護,才能保護任務關鍵應用程式。
這項可用性參考架構在區域內整合唯讀副本,以提供高可用性,並跨區域提供災難復原。這項多區域部署可防範重大中斷,包括廣泛停電和大規模自然災害。
可用性參考架構考量
評估這項可用性參考架構時,請考量下列因素:
- 區域內和跨區域的網路延遲時間和頻寬
- 資料庫和應用程式伺服器的地理位置
- 將唯讀工作負載卸載至副本的策略
- 在遠端 DR 區域部署高可用性
您可能需要唯讀負載平衡,尤其是在使用區域應用程式伺服器時,這樣要求就會轉送至最近的資料庫,以最快的速度回應。詳情請參閱「將要求轉送至多區域傳統版應用程式負載平衡器」。
跨區域複寫可能需要額外監控,確保複寫延遲不會因交易負載或網路容量而開始增加。
為確保災難復原成功,請務必執行完整的災難復原測試。如果應用程式伺服器和資料庫之間有任何高延遲網路連線,請務必測試應用程式功能和處理量。
區域內 HA 和跨區域 DR 架構
圖 1 顯示建議的高可用性和災難復原設定,其中包含三個唯讀副本待命資料庫,分布在三個可用區和兩個區域。

圖 1.AlloyDB Omni,提供備份和跨區域高可用性選項。
如圖 1 所示,同步串流複製到本機 (同一區域內) 副本可提供高可用性,而非同步串流複製到異地遠端副本則可提供區域性災難復原保護。在整個設定中,只有主要執行個體可以執行讀寫作業,其他副本則可提供讀取查詢。
將主要執行個體到區域內副本的複製作業設為同步模式,並將跨區域副本的複製作業設為非同步模式,避免延遲影響主要執行個體的寫入效能。如果發生區域性故障,這項設定可能會導致 RPO 不為零。不過,這種設定可在發生故障時加快 RTO。這是因為主要資料庫不需要等待遠端待命資料庫確認,即可提交交易。
您可以建立額外的跨區域備份,從唯讀副本資料庫備份資料,進而為從主要資料庫建立的備份新增備援。
唯讀副本備份
使用 Kubernetes 部署作業時,系統會自動在替代區域中設定次要部署作業,並建立額外備份。
請考量下列事項:
- 如果遠端備份可能受到區域故障影響,則必須在替代區域中啟動額外備份。
- 如需備份備援,請建立區域唯讀副本備份。
唯讀副本位置,支援多可用區可用性
AlloyDB Omni Kubernetes 運算子 運算子會自動處理可用區中的節點放置位置,以及 Pod 應部署至哪些節點。用於 AlloyDB Omni operator 部署作業的資料庫設定,提供一些會影響位置的設定選項,例如 Pod 親和性和容忍度。
從僅限高可用性架構遷移至高可用性和災難復原架構
如果是 Kubernetes 部署作業,您需要建立新的區域 Kubernetes 部署作業 (稱為次要資料庫叢集),並啟用跨資料中心複製功能。
實作
選擇可用性參考架構時,請留意下列優點、限制和選項。
優點
- 防範可用區和執行個體故障
- 防範區域性故障
- 資料庫發生區域性故障時,RTO 縮短
限制
- 您可以透過同步複製功能縮短區域復原的 RPO, 但這種做法會導致交易效能的延遲時間增加。 如要進行 DR 和遠端區域複製,建議您只使用非同步複製。
- 以同步模式設定 PostgreSQL WAL 串流,可在正常運作或一般容錯移轉期間,確保資料不會遺失 (
RPO=0)。不過,這種做法無法防範特定雙重故障情況下的資料遺失,例如所有待命執行個體都遺失或無法從主要執行個體存取,且主要執行個體隨即重新啟動。