使用區域複製功能保護資料

本頁面說明 AlloyDB Omni Enhanced Availability 參考架構,這項架構會在相同區域內部署一或多個資料庫副本,提供高可用性,防範節點層級或可用區層級故障。

用途

這項可用性參考架構適用於下列用途:

  • 需要較低 RTO 和 RPO 的重要業務應用程式。
  • 您想在其他可用區或節點中部署副本,為資料庫提供高可用性,並防範執行個體、伺服器和可用區故障。
  • 您希望避免使用者錯誤和資料損毀 (使用備份)。

參考架構的運作方式

進階可用性是在標準可用性的基礎上,在區域內新增唯讀副本執行個體,啟用高可用性 (HA),縮短復原時間目標 (RTO)。這種做法可讓交易變更串流至副本,進而縮短復原點目標 (RPO)。

AlloyDB Omni 的高可用性功能至少會使用兩個資料庫執行個體。其中一個執行個體會做為「主要資料庫」,支援讀取和寫入作業。其餘執行個體會做為唯讀副本,以唯讀模式運作。

以下是重要的 HA 概念:

  • 容錯移轉是指在非預期的服務中斷期間,主要執行個體發生故障或無法使用時,啟動待命副本並接管主要 (讀寫) 模式的程序。這項程序稱為「升級」。在這些情況下,當主要伺服器或資料庫恢復連線時,通常必須重建資料庫,然後將其做為備用資料庫。為確保高正常運作時間,系統會自動執行容錯移轉。
  • 切換 (也稱為角色反轉) 是一種程序,用於在主要資料庫和其中一個待命資料庫之間切換模式,讓主要資料庫變成待命資料庫,待命資料庫變成主要資料庫。切換作業通常會以受控、流暢的方式進行,且可能因各種原因而啟動,例如允許停機時間和修補前一個主要資料庫。順暢切換必須允許日後切換回原狀態,不必重新例項化新的待命或複寫設定的其他方面。

高可用性選項

注意:Patroni 和 HAProxy 是非商業第三方工具,與 AlloyDB Omni 相容。

建議您至少要有兩個待命資料庫,這樣即使其中一個資料庫遺失,叢集的高可用性也不會受到影響。在該模式下,如果發生容錯移轉或節點的任何排定維護作業,您至少會有一組 HA 配對。

如要規劃 AlloyDB Omni 部署作業的大小和形狀,請參閱「規劃在 VM 上安裝 AlloyDB Omni」。

負載平衡器

另一個有助於順利切換和容錯移轉的重要機制是負載平衡器。

高可用性

如果主要資料庫故障,部署在區域內的唯讀副本資料庫可提供高可用性。主要資料庫發生故障時,備用資料庫會升級為取代主要資料庫,應用程式會繼續運作,幾乎不會或完全不會中斷。

一般來說,建議每年或每半年進行一次切換檢查,確保所有依賴這些資料庫的應用程式仍能連線,並在適當的時間範圍內回應。

無論採用哪種部署類型,只要將其中一個待命唯讀副本,放在與主要資料庫不同的可用區,即可達到可用區層級的保護。

唯讀副本的另一項優點是,能夠將唯讀作業卸載至待命資料庫,這些資料庫可做為報表資料庫,使用最新資料。這種做法可減輕讀寫主要執行個體的負載和負擔。

備份和高可用性設定

唯讀副本可設定於多個可用區,提供高可用性。雖然這些功能可提供低 RTO 和 RPO,但無法防範特定中斷情形,例如邏輯資料損毀 (如意外捨棄資料表或資料更新錯誤)。因此除了設定高可用性,也應定期備份。詳情請參閱標準可用性架構說明文件。

圖 1 顯示建議的高可用性設定,其中有兩個唯讀副本待命資料庫,分別位於兩個不同的可用區。

AlloyDB Omni 搭配備份和高可用性選項

圖 1. AlloyDB Omni 具備備份和高可用性選項。

如要避免主要執行個體故障時遺失資料,請務必以同步模式設定複寫功能。雖然這個方法可提供強大的資料保護,但所有修訂版本都必須寫入主要資料庫和所有同步的待命資料庫,因此可能會影響主要資料庫的效能。這項設定的關鍵在於,這些資料庫執行個體之間必須有低延遲網路連線。

實作

選擇可用性參考架構時,請留意下列優點、限制和替代方案。

優點

  • 避免執行個體故障。
  • 防範伺服器故障。
  • 防範可用區故障。
  • RTO 遠低於標準可用性。

限制

  • 沒有針對區域性災害的額外保護措施。
  • 同步複製可能對主要執行個體效能造成影響。
  • 在同步模式下設定 PostgreSQL WAL 串流,可在正常運作或一般容錯移轉期間,確保資料不會遺失 (RPO=0)。不過,這種做法無法防範特定雙重故障情況下的資料遺失,例如所有待命執行個體都遺失或無法從主要執行個體存取,且主要執行個體隨即重新啟動。

替代方案