使用复制组的高可用性 - 用于 Redis 的 Amazon ElastiCache
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

使用复制组的高可用性

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

如下图所示,复制结构包含在分片(在 API/CLI 中称作节点组)中,分片则包含在 Redis 集群中。Redis (已禁用集群模式)集群始终只有一个分片。Redis (已启用集群模式)集群可拥有最多 90 个分片(该集群的数据跨这些分片进行分区)。您可以创建具有更多分片和更少副本的集群,每个集群最多可包含 90 个节点。此集群配置的范围可以从 90 个分片和 0 个副本到 15 个分片和 5 个副本,这是允许的最大副本数。

如果Redis引擎版本为5.0.6或更高版本,则节点或分片限制可增加到每个群集最多500个。例如,您可以选择配置介于83个分片(每个分片一个主要副本和5个副本)和500个分片(单个主要副本和无副本)之间的500个节点群集。确保有足够的可用IP地址以适应增加。常见陷阱包括子网组中子网的CIDR范围太小,或者子网被其他群集共享并大量使用。有关更多信息,请参阅创建子网组

对于低于5.0.6的版本,限制为250/群集。

要请求提高限制,请参阅 AWS 服务限制并选择限制类型 Nodes per cluster per instance type (每个实例类型的每个集群的节点数)

图片: Redis (已禁用集群模式) 群集有一个分片和0到5个复制节点

Redis (已禁用集群模式) 群集有一个分片和0到5个复制节点

如果为具有副本的集群启用了多可用区,则当主节点发生故障时,主节点将故障转移到某个只读副本。由于在副本节点上异步更新数据,因此可能会因更新副本节点时存在延迟而导致丢失某些数据。有关更多信息,请参阅缓解运行 Redis 时发生的故障