AWS ElastiCache - Redis 分片

分片是 ElastiCache 集群中一个或多个节点的集合。创建分片是为了支持将数据复制到 ElastiCache 集群中的各个节点,以便在丢失几个节点的情况下缓存仍然可访问。根据集群模式的配置方式,Redis 集群可以有一个或多个分片。如果禁用集群模式,则 Redis 集群将只有一个分片。

分片 = 主节点 + 只读副本

主节点

分片中的一个节点被指定为主节点。应用程序只能写入主节点。写入主节点的数据将异步传播到所有只读副本。现有主节点可以与其中一个只读副本交换其角色,以获得更好的性能。

只读副本

只读副本维护来自集群主节点的数据副本。只读副本可提高读取吞吐量,并防止在节点发生故障时丢失数据。应用程序可以从集群中的任何节点读取数据,无论是只读副本还是主节点。

禁用集群模式

在此模式下,我们创建一个 Redis 集群,其中只有一个包含所有 Redis 节点的分片。其中一个节点被指定为主节点,其他节点称为只读副本节点。

Redis Shards 1

以下是禁用集群模式的 Redis 集群的功能。

  • Redis(集群模式已禁用)集群中的所有节点必须位于同一区域。为了提高容错能力,您可以在该区域内的多个可用区中配置只读副本。

  • 当您将只读副本添加到集群时,主节点的所有数据都将复制到新节点。从此点开始,每当将数据写入主节点时,更改都会异步传播到所有只读副本。

  • 使用具有副本节点的 Redis(已禁用集群模式)集群来扩展 ElastiCache 的 Redis 解决方案,以处理读取密集型应用程序。

已启用集群模式

在此模式下,我们创建一个包含 1 到 90 个分片的 Redis 集群。每个分片都有一个主节点和最多五个只读副本节点。分片中的每个只读副本都维护来自分片主节点的数据副本。

Redis Shards 2

以下是禁用集群模式的 Redis 集群的功能。

  • 异步复制机制用于使只读副本与主节点保持同步。应用程序可以从集群中的任何节点读取。应用程序只能写入主节点。

  • 此 Redis 集群中的所有节点必须位于同一区域。

  • 您无法手动将任何副本节点提升为主节点。

  • 您只能通过从备份中恢复来更改集群的结构、节点类型和节点数量。