

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

# 使用复制组时的高可用性
<a name="Replication"></a>

Single-node Amazon ElastiCache Valkey 和 Redis OSS 集群是内存中实体，数据保护服务 (AOF) 有限。如果您的集群出于任何原因发生故障，您将丢失集群中的所有数据。但是，如果您运行的是 Valkey 或 Redis OSS 引擎，则可以将 2 到 6 个节点分组到具有副本的集群中，其中 1 到 5 个只读节点包含该组单个 read/write 主节点的复制数据。在这种情况下，如果一个节点出于任何原因发生故障，您不会丢失所有数据，因为这些数据已在另外的一个或多个节点中复制。由于复制延迟，如果主 read/write 节点出现故障，某些数据可能会丢失。

如下图所示，复制结构包含在 Valkey 或 Redis OSS *集群中的分片（中称为节点组* API/CLI）中。Valkey 或 Redis OSS（已禁用集群模式）集群始终有一个分片。Valkey 或 Redis OSS（已启用集群模式）集群最多可以拥有 500 个分片，而且集群的数据跨分片进行分区。您可以创建具有更多分片和更少副本的集群，每个集群最多可包含 90 个节点。此集群配置的范围可以从 90 个分片和 0 个副本到 15 个分片和 5 个副本，这是允许的最大副本数。

对 ElastiCache 于 Valkey，节点或分片限制可以提高到每个集群最多 500 个，对于 Redis OSS，在 5.0.6 或更高 ElastiCache 版本中，每个集群的节点或分片限制可以提高到最多 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（已禁用集群模式）集群拥有一个分片和 0 到 5 个副本节点](http://docs.aws.amazon.com/zh_cn/AmazonElastiCache/latest/dg/images/ElastiCacheClusters-CSN-Redis-Replicas.png)


*Valkey 或 Redis OSS（已禁用集群模式）集群拥有一个分片和 0 到 5 个副本节点*

如果带有副本的集群已 Multi-AZ 启用且主节点出现故障，则主节点会故障转移到只读副本。由于在副本节点上异步更新数据，因此可能会因更新副本节点时存在延迟而导致丢失某些数据。有关更多信息，请参阅 [缓解运行 Valkey 或 Redis OSS 时发生的故障](disaster-recovery-resiliency.md#FaultTolerance.Redis)。

**注意**  
对于启用了持久性的集群，数据会保留在 Multi-AZ 事务日志中，即使所有节点都出现故障，也可以恢复。使用同步写入时，故障转移期间不会丢失已确认的数据。使用异步写入时，如果发生故障，最多可能会丢失 10 秒的数据。

**Topics**
+ [了解 Valkey 和 Redis OSS 复制](Replication.Redis.Groups.md)
+ [启用耐久性的复制](#replication-with-durability)
+ [复制：Valkey 和 Redis OSS 已禁用集群模式与已启用集群模式](Replication.Redis-RedisCluster.md)
+ [ElastiCache 通过 Multi-AZ 与 Valkey 和 Redis OSS 一起使用来最大限度地减少停机时间](AutoFailover.md)
+ [如何实施同步和备份](Replication.Redis.Versions.md)
+ [持久的同步和备份](#sync-backup-durability)
+ [创建 Valkey 或 Redis OSS 复制组](Replication.CreatingRepGroup.md)
+ [查看复制组的详细信息](Replication.ViewDetails.md)
+ [查找复制组端点](Replication.Endpoints.md)
+ [修改复制组](Replication.Modify.md)
+ [删除复制组](Replication.DeletingRepGroup.md)
+ [更改副本数量](increase-decrease-replica-count.md)
+ [将 Valkey 或 Redis OSS（已禁用集群模式）复制组的只读副本提升为主节点](Replication.PromoteReplica.md)

## 启用耐久性的复制
<a name="replication-with-durability"></a>

对于启用了持久性的 Valkey 9.0 以上集群，复制是通过 Multi-AZ 事务日志进行中介的，而不是直接的主副本流式传输。主节点写入事务日志，副本独立使用日志中已提交的写入。这种架构意味着副本可以独立恢复，而不会对主节点施加负载。

## 持久的同步和备份
<a name="sync-backup-durability"></a>

对于启用了持久性的集群，同步和备份操作与标准集群不同：
+ Off-box 快照**：快照**由临时实例创建，这些实例从 Multi-AZ 事务日志中读取，从而消除了对集群性能的影响。
+ **Log-based 恢复：**失败的副本从事务日志和快照中恢复，而不是要求从主日志和快照进行完全同步。