

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

# 了解 Valkey 和 Redis OSS 複寫
<a name="Replication.Redis.Groups"></a>

Redis OSS 以兩種方式實作複寫：
+ 使用包含每個節點中叢集所有資料的單一碎片：Valkey 或 Redis OSS （停用叢集模式）
+ 資料分割最多 500 個碎片：Valkey 或 Redis OSS （啟用叢集模式）

複寫群組中的每個碎片都具備單一讀/寫主節點，以及最多 5 個僅供讀取複本節點。您可以建立具有較高數量碎片和較低數量複本的叢集，每一叢集最高總計為 90 個節點。此叢集組態的範圍可以從 90 個碎片和 0 個複本到 15 個碎片和 5 個複本，這是允許的複本最大數量。

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

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

若要請求提高配額，請參閱 [AWS 服務配額](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)，並選擇配額類型 **Nodes per cluster per instance type (每執行個體類型每叢集的節點數)**。

**Topics**
+ [Valkey 或 Redis OSS （停用叢集模式）](#Replication.Redis.Groups.Classic)
+ [Valkey 或 Redis OSS （啟用叢集模式）](#Replication.Redis.Groups.Cluster)

## Valkey 或 Redis OSS （停用叢集模式）
<a name="Replication.Redis.Groups.Classic"></a>

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

![\[影像：具有單一碎片和複本節點的 Valkey 或 Redis OSS （停用叢集模式） 叢集\]](http://docs.aws.amazon.com/zh_tw/AmazonElastiCache/latest/dg/images/ElastiCacheClusters-CSN-Redis-Replicas.png)


*具有單一碎片和複本節點的 Valkey 或 Redis OSS （停用叢集模式） 叢集*

您可以使用具有複本節點的 Valkey 或 Redis OSS （停用叢集模式） 叢集來擴展您的解決方案，讓 ElastiCache 處理讀取密集型應用程式，或支援同時從相同叢集讀取的大量用戶端。

Valkey 或 Redis OSS （停用叢集模式） 叢集中的所有節點都必須位於相同的區域。

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

若要改善容錯能力並減少寫入停機時間，請為具有複本的 Valkey 或 Redis OSS （停用叢集模式） 叢集啟用具有自動容錯移轉的異地同步備份。如需詳細資訊，請參閱[搭配 Valkey 和 Redis OSS 使用異地同步備份，將 ElastiCache 中的停機時間降至最低](AutoFailover.md)。

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

## Valkey 或 Redis OSS （啟用叢集模式）
<a name="Replication.Redis.Groups.Cluster"></a>

Valkey 或 Redis OSS （啟用叢集模式） 叢集由 1 到 500 個碎片 (API/CLI：節點群組） 組成。每個碎片都有一個主節點，以及最多 5 個僅供讀取複本節點。組態的範圍可以從 90 個碎片和 0 個複本到 15 個碎片和 5 個複本，這是允許的複本最大數量。

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

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

若要請求提高配額，請參閱 [AWS 服務配額](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)，並選擇配額類型 **Nodes per cluster per instance type (每執行個體類型每叢集的節點數)**。

 每個碎片中的僅供讀取複本都會保有從碎片主要節點取得的資料複本。非同步複寫機制會用於將僅供讀取複本與主要節點保持同步。應用程式可從叢集內的任何節點進行讀取。應用程式只能寫入主要節點。僅供讀取複本可增強讀取擴展性及保護資料遺失。資料會分割至 Valkey 或 Redis OSS （啟用叢集模式） 叢集中的碎片。

應用程式使用 Valkey 或 Redis OSS （啟用叢集模式） 叢集的*組態端點*來與叢集中的節點連線。如需詳細資訊，請參閱[在 ElastiCache 中尋找連線端點](Endpoints.md)。

![\[影像：具有多個碎片和複本節點的 Valkey 或 Redis OSS （啟用叢集模式） 叢集\]](http://docs.aws.amazon.com/zh_tw/AmazonElastiCache/latest/dg/images/ElastiCacheClusters-CSN-RedisClusters.png)


*具有多個碎片和複本節點的 Valkey 或 Redis OSS （啟用叢集模式） 叢集*

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

目前，Valkey 或 Redis OSS （啟用叢集模式） 功能有一些限制。
+ 您無法將任何複本節點手動提升為主要節點。