關於跨區域複製

本頁面概述 Memorystore for Redis Cluster 的跨區域複寫功能。

如需管理跨區域複製功能的說明,請參閱「跨區域複製資料」。

透過跨區域複製功能,您可以從主要叢集建立次要叢集,讓叢集在不同區域提供讀取作業。萬一發生區域性服務中斷,次要叢集也能提供災難復原情境的備援。

本頁面中的重要概念包括:

  • 主要叢集:單一區域中的讀寫叢集。
  • 次要叢集:從主要叢集非同步複製資料的唯讀叢集。如要瞭解如何升級及分離次要叢集,請參閱「如何管理跨區域複寫」一文中的「detach」和「switchover」工作。
  • 複製器節點:主要叢集分片的節點,會複製到次要叢集的追隨者節點。分片中的任何主要或副本節點都可以擔任複寫器角色。
  • 追隨者節點:次要叢集中的節點,會從主要叢集中的複製器節點複製資料。只有次要叢集中的主要節點可以擔任追隨者角色。
  • 分片數量和時段指派:主要和次要叢集的分片數量和時段指派相同。

優點

在 Memorystore for Redis Cluster 上使用跨區域複寫的優點包括:

  • 災難復原:如果主要叢集的區域無法使用,您可以分離或切換至其他區域的次要叢集,以處理讀取和寫入要求。次要叢集會處理讀取要求,不會發出切換或分離指令。
  • 地理區域分散式資料:將資料分散到不同地理區域,可讓資料更靠近您,並縮短讀取延遲時間。
  • 讀取流量的地理位置負載平衡:如果某個區域的連線速度緩慢或過載,您可以將流量導向其他區域。

功能行為

本節說明跨區域複寫功能的重要行為。

  • 調度叢集容量調度主要叢集容量時,Memorystore for Redis Cluster 會自動調度次要叢集,與主要叢集相符。
  • 調整副本數量:您可以根據工作負載需求,分別調整主要和次要叢集的副本數量。副本計數的更新只會在本機生效,不會傳播至叢集跨區域複製集合中的其他叢集。
  • 在可能發生中斷時切換:即使主要叢集因中斷而無法使用,您仍可執行切換來升級次要叢集。解決中斷問題後,無法使用的主要叢集會變成次要叢集。
  • 建立線上次要叢集:將次要叢集新增至主要叢集時,主要叢集會保持連線狀態。在 Memorystore for Redis Cluster 建立次要叢集時,主要叢集會處理要求並複製資料。
  • 建立次要叢集:最多可建立兩個次要叢集。 這些執行個體可以位於相同或不同地區。您無法將現有叢集設為次要叢集。您只能將新叢集新增為次要叢集。
  • 同步設定:Memorystore for Redis Cluster 會自動在主要和次要叢集之間同步大多數叢集設定。如要進一步瞭解這些設定,請參閱「叢集設定」。
  • 價格:如果客戶使用跨區域複寫功能,Memorystore for Redis Cluster 會針對為跨區域複寫功能佈建的任何次要叢集收費。對於 Memorystore for Redis Cluster 在次要叢集上部署的每個節點和副本,系統會按照任何其他主要叢集的收費標準計費。此外,在不同區域的叢集之間轉移資料時,會產生網路費用
  • 執行維護更新:為確保與跨區域複寫功能相容,建立次要叢集時,主要叢集可能會進行維護更新。如果主要叢集未執行必要軟體版本,就會進行這項更新。更新程序可能會在建立次要叢集時,造成一些額外延遲。詳情請參閱「關於維護作業」。

如何管理跨區域複製功能

跨區域複製作業包含下列工作:

  • 建立次要叢集:建立次要叢集,持續從主要叢集複製資料。
  • 查看次要叢集:查看次要叢集的相關資訊,包括主要叢集的名稱和複製群組中的其他次要叢集。
  • 卸載次要叢集:卸載次要叢集是指將次要叢集從主要叢集分離。成為功能完整的獨立叢集,允許讀取和寫入作業。卸載後,次要叢集就不會再從先前關聯的主要叢集複製資料。原始主要叢集和新卸載的叢集 (先前的次要叢集) 都會做為獨立叢集運作,彼此沒有任何關係。

    卸載次要叢集的原因如下:

    • 區域遷移:將 Memorystore for Redis Cluster 資源從主要區域遷移至其他區域。
    • 災害復原:如果主要區域的資源無法使用,請在次要區域快速啟用 Memorystore for Redis Cluster 資源。如果次要叢集未完全趕上主要叢集,可能會遺失部分資料。
  • 切換叢集:執行切換作業,反轉主要和次要叢集的角色。您可以基於下列原因執行切換作業:

    • 測試災難復原設定
    • 在實際的災難復原情境中切換
    • 遷移工作負載

    切換完成後,Memorystore for Redis Cluster 會反轉複寫方向。原先的次要叢集現在可以接受讀取和寫入作業,原先的主要叢集則會切換為唯讀模式。

跨區域複製作業的架構範例

這張圖表顯示 us-east1 區域中的主要叢集,以及 us-west1asia-east1 區域中的次要叢集。複製方向一律是從主要叢集到次要叢集 (在本例中,是從 us-east1 區域到其他區域)。

雖然這張圖表顯示所有區域的副本數量相同,但跨區域複製功能可讓您根據需求調整副本數量。

圖片

叢集設定

本節說明使用跨區域複寫功能時,主要和次要叢集需要、複製及覆寫的設定。此外,本文也會說明您在主要叢集上設定的項目,以及在本機設定的項目。

建立次要叢集時的必要參數

如要建立次要叢集,您必須為下列參數設定值:

  • Google Cloud project:主要叢集所在的專案,也是您建立次要叢集的專案。
  • 區域:您希望次要叢集所在的區域。
  • Private Service Connect 設定:次要叢集的網路設定
  • 主要叢集:建立次要叢集時,您必須指出主要叢集。除了次要叢集,您可以使用任何叢集做為主要叢集。如果沒有主要叢集,請建立主要叢集

次要叢集從主要叢集複製的設定

建立次要叢集時,這個叢集會從主要叢集複製下列設定:

覆寫預設設定

建立次要叢集時,您可以使用下列設定覆寫預設設定:

更新叢集設定

在 Memorystore for Redis Cluster 中更新叢集設定時,只能變更主要叢集的部分設定。Memorystore for Redis Cluster 會自動將這些變更同步至次要叢集。

您可以分別變更主要和次要叢集上的其他設定。Memorystore for Redis Cluster 只會在本地套用這些變更,不會與其他叢集同步。

設定主要叢集

您必須變更主要叢集上的下列設定。 Memorystore for Redis Cluster 會自動將這些變更與次要叢集同步。

設定地區設定

您可以在本機設定下列設定:

切換主要和次要叢集的最佳做法

執行切換作業時,建議您按照本節的說明操作。這樣一來,應用程式就能追蹤寫入作業,並將所有寫入內容傳送至適當叢集。

  1. 讓應用程式停止將資料寫入主要叢集。
  2. 如果要升級多個次要叢集,請決定要將哪個次要叢集升級為主要叢集。下列因素可協助您判斷要升級哪個次要叢集:

    • 應用程式與叢集的距離。這可能會影響寫入延遲時間。
    • 資料最齊全的次要叢集。
    • 設定與主要叢集最接近的次要叢集。
  3. 對次要叢集執行切換作業

  4. 等待切換作業完成。

  5. 更新應用程式,將所有寫入作業傳送至您在步驟 2 中選取的新升級叢集。