用于 Redis 的 Amazon ElastiCache
ElastiCache for Redis 用户指南 (API 版本 2015-02-02)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用复制组的高可用性

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

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

注意

对于每个集群,可将节点或分片限制提高到最大值 250。要请求提高限制,请参阅 AWS 服务限制并选择限制类型“每个实例类型的每个集群的节点数”。

图像:Redis (已禁用集群模式)集群拥有一个分片和 0 到 5 个副本节点

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

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