

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 了解 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 引擎版本为 5.0.6 OSS 或更高版本，您可将每个集群的节点或分片限制提高到最大值 500。例如，您可以选择配置一个 500 节点的集群，范围介于 83 个分片（一个主分片和 5 个副本分片）和 500 个分片（一个主分片，无副本分片）之间。确保可提供足够的 IP 地址来满足增长需求。常见的陷阱包括子网组中的子网 CIDR 范围太小，或者子网被其他集群共享和大量使用。有关更多信息，请参阅 [创建子网组](SubnetGroups.Creating.md)。

 对于低于 5.0.6 的版本，每个集群的限制为 250。

若要请求提高限制，请参阅 [AWS Service Limits](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（已禁用集群模式）集群拥有一个分片，其中包含一个节点集合；一个读/写主节点和最多 5 个辅助只读副本节点。每个只读副本保留一个集群主节点数据的副本。可使用异步复制机制使只读副本与主集群同步。应用程序可以从集群中的任何节点进行读取。应用程序只能对主节点进行写入。只读副本增加了读取吞吐量，并在节点发生故障时防止数据丢失。

![\[图片：具有一个分片和多个副本节点的 Valkey 或 Redis OSS（已禁用集群模式）集群\]](http://docs.aws.amazon.com/zh_cn/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 Service Limits](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_cn/AmazonElastiCache/latest/dg/images/ElastiCacheClusters-CSN-RedisClusters.png)


*具有多个分片和副本节点的 Valkey 或 Redis OSS（已启用集群模式）集群*

Valkey 或 Redis OSS（已启用集群模式）集群中的所有节点必须位于同一区域内。要增强容错能力，您可在该区域内的多个可用区中预配置主副本和只读副本。

目前，Valkey 或 Redis OSS（已启用集群模式）功能有一些限制。
+ 您无法手动将任何副本节点提升为主节点。