使用複寫群組的高可用性 - Amazon ElastiCache (雷迪斯 OSS)

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用複寫群組的高可用性

單節點 Amazon ElastiCache Redis OSS 叢集是具有有限資料保護服務 (AOF) 的記憶體內部實體。若您的叢集因任何原因失敗,您會遺失所有叢集的資料。但是,如果您正在執行 Redis OSS 引擎,則可以將 2 到 6 個節點分組到具有複本的叢集中,其中 1 到 5 個唯讀節點包含群組單一讀取/寫入主節點的複寫資料。在此案例中,若一個節點因任何原因失敗,因為其已在一或多個其他節點中複寫,因此您也不會遺失所有資料。因為複寫延遲,若失敗的是主要讀取/寫入節點,有些資料可能會遺失。

如下圖所示,複寫結構包含在 Redis OSS 叢集中的碎片 (在 API/CLI 中稱為節點群組) 內。Redis OSS (叢集模式停用) 叢集永遠有一個碎片。Redis OSS (已啟用叢集模式) 叢集最多可以有 500 個碎片,而叢集的資料會在碎片中進行分割。您可以建立具有較高數量碎片和較低數量複本的叢集,每一叢集最高總計為 90 個節點。此叢集組態的範圍可以從 90 個碎片和 0 個複本到 15 個碎片和 5 個複本,這是允許的複本最大數量。

如果 Redis OSS 引擎版本為 5.0.6 或更高版本,則每個叢集的節點或碎片限制最多可增加到 500 個。例如,您可以選擇設定具有 500 個節點的叢集,並容許碎片在 83 個(每個碎片一個主要版本和 5 個複本)到 500 個(單一主要版本並且沒有複本)之間變化。請確保有足夠的可用 IP 地址來容納增加的數量。常見的缺陷包括子網路群組中的子網路的 CIDR 範圍太小,或是子網路被共用並被其他叢集大量使用。如需詳細資訊,請參閱 建立子網路群組

對於 5.0.6 以下的版本,每個叢集的限制為 250 個。

若要請求提高配額,請參閱 AWS 服務配額,並選擇配額類型 Nodes per cluster per instance type (每執行個體類型每叢集的節點數)

影像:Redis OSS (叢集模式已停用) 叢集具有一個碎片和 0 到 5 個複本節點

Redis OSS (叢集模式已停用) 叢集具有一個碎片和 0 到 5 個複本節點

若帶有複本的叢集已啟用多個可用區,並且當主要節點故障時,主要節點會容錯移轉至僅供讀取複本。因為資料會以非同步的方式在複本節點上更新,可能會因更新複本節點時發生延遲而導致某些資料遺失。如需更多詳細資訊,請參閱 緩解執行 Redis 作業系統時的失敗