了解 Redis 的 OSS 複寫 - Amazon ElastiCache (雷迪OSS斯)

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

了解 Redis 的 OSS 複寫

Redis 的 OSS 以兩種方式實作複寫:

  • 使用包含每個節點中所有叢集資料的單一碎片 — Redis OSS (叢集模式停用)

  • 將資料分割至多達 500 個磁碟分割 — Redis OSS (已啟用叢集模式)

複寫群組中的每個碎片都具備單一讀/寫主節點,以及最多 5 個僅供讀取複本節點。您可以建立具有較高數量碎片和較低數量複本的叢集,每一叢集最高總計為 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 (每執行個體類型每叢集的節點數)

紅色 OSS (叢集模式已停用)

Redis OSS (叢集模式停用) 叢集具有單一碎片,其中包含 Redis OSS 節點的集合;一個主要讀取/寫入節點,以及最多五個次要唯讀複本節點。每個僅供讀取複本都會保有從叢集主要節點取得的資料複本。非同步複寫機制會用於將僅供讀取複本與主要節點保持同步。應用程式可從叢集內的任何節點進行讀取。應用程式只能寫入主要節點。僅供讀取複本可改善讀取輸送量,並在節點故障時保護資料,避免遺失。

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

具有單一碎片和複本節點的 Redis OSS (叢集模式已停用) 叢集

您可以使用具有複本節點的 Redis OSS (叢集模式已停用) 叢集來擴展 Redis OSS 解決方案,以處理需 ElastiCache 要大量讀取的應用程式,或支援大量同時從相同叢集讀取的用戶端。

Redis OSS (叢集模式已停用) 叢集中的所有節點必須位於相同的區域。

當您將僅供讀取複本新增到叢集時,所有來自主要節點的資料都會複製到新節點。之後,每當資料寫入到主要節點時,變更都會以非同步方式散佈到所有僅供讀取複本。

若要改善容錯能力並減少寫入停機時間,請為具有複本的 Redis OSS (叢集模式已停用) 叢集啟用「自動容錯移轉」功能的異地同步備份。如需詳細資訊,請參閱 利用異地同步備份將 ElastiCache (Redis OSS) 的停機時間降至最低

您可以變更 Redis OSS (叢集模式已停用) 叢集中節點的角色,以及主要複本和其中一個複本交換角色。您可能會為了調校效能而執行此作業。例如,針對需要大量寫入活動的 web 應用程式,您可以選擇網路延遲最低的節點。如需詳細資訊,請參閱 針對 Redis OSS (已停用叢集模式) 複寫群組,將僅供讀取複本提升為主要複本

紅色 OSS (已啟用叢集模式)

Redis OSS (已啟用叢集模式) 叢集由 1 到 500 個碎片 (API/CLI: 節點群組) 所組成。每個碎片都有一個主節點,以及最多 5 個僅供讀取複本節點。組態的範圍可以從 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 (已啟用叢集模式) 叢集中的碎片之間進行分割。

應用程式使用 Redis OSS (已啟用叢集模式) 叢集的組態端點與叢集中的節點連線。如需詳細資訊,請參閱 尋找連線端點

影像:具有多個碎片和複本節點的 Redis OSS (已啟用叢集模式) 叢集

具有多個碎片和複本節點的 Redis OSS(啟用叢集模式)叢集

Redis OSS (已啟用叢集模式) 叢集中的所有節點必須位於相同的區域。若要改善容錯能力,您可以在該區域中的多個可用區域內同時佈建主要節點及僅供讀取複本。

目前,在 Redis OSS (已啟用叢集模式) 中,有一些限制。

  • 您無法將任何複本節點手動提升為主要節點。