跳至內容

如何在容錯移轉期間將 ElastiCache 的停機時間降至最低?

1 分的閱讀內容
0

我想遵循最佳做法,最將 Amazon ElastiCache for Redis OSS 和 Amazon ElastiCache for Valkey 容錯移轉期間的停機時間降至最低。

簡短描述

由於下列原因,ElastiCache 可能會影響應用程式效能和可靠性的容錯移轉:

  • 如果您耗盡資源,例如記憶體、CPU 和網路頻寬,那麼您的節點可能會發生容錯移轉。
  • 如果 AWS 安排了更新維護事件,那麼您的節點可能會發生容錯移轉。
  • 如果託管節點的基礎架構的實體硬體發生中斷或出現問題,那麼您的節點可能會發生容錯移轉。
  • 如果您未正確設定與快取互動的應用程式或服務,那麼組態可能會導致更長的停機時間。

解決方法

開啟多可用區

若要在 AWS 區域中的不同可用區域 (AZ) 建立和維護主要節點和複本節點,請使用 ElastiCache 多可用區功能。如果主要節點失敗,則複本節點將接管主要節點的角色,將停機時間降至最低。

新增讀取複本

將讀取複本新增至 Redis 部署時,可大幅降低容錯移轉任務中的停機時間和資料遺失。當您的讀取複本管理讀取請求時,請將主要節點設定為處理寫入作業。此組態具有下列優點:

  • 提高讀取輸送量
  • 減少延遲
  • 提供容錯
  • 簡化造成叢集停機時間的維護任務

跨可用區域分配節點

當您將節點分配在多個可用區域時,不同可用區域中的複本可提供高可用性和連續讀取作業。此組態可增強系統彈性,並減少節點容錯移轉時的停機時間。當您第一次設定叢集或將新節點新增至現有叢集時,您可以在多個可用區域中分配節點。如需詳細資訊,請參閱選擇 ElastiCache 的區域和可用區域

使用最新的 Valkey 或 Redis OSS 版本

根據您的叢集和節點類型,使用最新版本的 Valkey 或 Redis OSS 來支援最新功能。例如,停用叢集模式的叢集需要 Valkey 版本 7.2 或 Redis OSS 版本 5.0.6 或更新版本,才能使用計劃節點替換功能。如需詳細資訊,請參閱支援的節點類型

監控叢集事件

若要識別容錯移轉並回應,請查看您的 ElastiCache 叢集事件。若要及早偵測容錯移轉,請使用 Amazon Simple Notification Service (Amazon SNS) 設定 ElastiCache,以傳送重要叢集事件的通知。

使用正確的端點

若要將容錯移轉期間的停機時間降至最低,您必須根據叢集組態,為 ElastiCache for Redis OSS 叢集使用正確的端點。若要在停用叢集模式之叢集的複本中分配讀取工作負載,請使用主要端點執行寫入作業,並使用讀取器端點執行讀取作業。對於啟用叢集模式的叢集,請使用所有作業的組態端點,來自動管理與正確節點的連線。當您為叢集模式選擇正確的端點後,就能最佳化效能並建立順暢的容錯移轉程序。如需詳細資訊,請參閱在 ElastiCache 中尋找連線端點

**注意:**直接使用單一節點端點並不是最佳做法。請使用適合您連線類型的正確端點。因為節點角色在容錯移轉事件期間可能會發生變化,因此如果您使用單一節點端點,則會遇到更多應用程式問題。

定期測試自動容錯移轉

為了維持可靠的 Redis 部署,最佳做法是定期測試自動容錯移轉。若要測試自動容錯移轉,您必須模擬主要節點失敗,以確保複本已升級到主要狀態。這些測試可以識別組態中的問題,並讓您在問題影響叢集之前將其解決。此外,容錯移轉測試還提供有關應用程式效能以及如何最佳化架構和復原程序的深入解析。

遵循 Redis 用戶端的最佳做法

對於您的 Redis 用戶端,請遵循以下最佳做法:

  • 若要提升應用程式效能和可擴展性,請使用連線集區來管理可重複使用、預先建立的連線。如需詳細資訊,請參閱 Redis 網站上的連線集區和多工處理
  • 實作例外狀況和逾時處理,以維持 Redis 叢集的應用程式效率。您也可以查看日誌中的逾時情況,以識別問題並調整組態。如需詳細資訊,請參閱 Redis 網站上的用戶端逾時
  • 若要維護應用程式的彈性,請實作使用指數退避策略的重試機制。設定機制以區分需要重試的暫時錯誤和不需要重試的永久性失敗。如需詳細資訊,請參閱叢集用戶端探索和指數退避 (Valkey 和 Redis OSS)
  • 開啟日誌以擷取關鍵指標和錯誤,並為叢集建立效能基準。如需詳細資訊,請參閱 Redis 網站上的日誌事件
  • 設計用戶端以動態處理叢集拓樸變更,並適應節點和角色變化。若要維持與叢集節點的連線並最佳化叢集,請實作智慧型連線集區。如需詳細資訊,請參閱 Redis 網站上的 Redis 叢集和用戶端庫

相關資訊

使用 Amazon CloudWatch 監控 Amazon ElastiCache for Redis 的最佳做法

如何對 ElastiCache for Redis 的高延遲問題進行疑難排解?

Redis 網站上支援的連線用戶端

AWS 官方已更新 1 年前