本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用复制组时的高可用性
单节点 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 Service Limits 并选择限制类型 Nodes per cluster per instance type(每个实例类型的每个集群的节点数)。
![图片:Redis OSS(已禁用集群模式)集群有一个分片和 0 到 5 个副本节点](images/ElastiCacheClusters-CSN-Redis-Replicas.png)
Redis OSS(已禁用集群模式)集群有一个分片和 0 到 5 个副本节点
如果为具有副本的集群启用了多可用区,则当主节点发生故障时,主节点将故障转移到某个只读副本。由于在副本节点上异步更新数据,因此可能会因更新副本节点时存在延迟而导致丢失某些数据。有关更多信息,请参阅 缓解运行 Redis OSS 时的故障。