AWS ElastiCache - Redis 分片
分片是 ElastiCache 集群中一个或多个节点的集合。创建分片是为了支持将数据复制到 ElastiCache 集群中的各个节点,以便在丢失几个节点的情况下缓存仍然可访问。根据集群模式的配置方式,Redis 集群可以有一个或多个分片。如果禁用集群模式,则 Redis 集群将只有一个分片。
分片 = 主节点 + 只读副本
主节点
分片中的一个节点被指定为主节点。应用程序只能写入主节点。写入主节点的数据将异步传播到所有只读副本。现有主节点可以与其中一个只读副本交换其角色,以获得更好的性能。
只读副本
只读副本维护来自集群主节点的数据副本。只读副本可提高读取吞吐量,并防止在节点发生故障时丢失数据。应用程序可以从集群中的任何节点读取数据,无论是只读副本还是主节点。
禁用集群模式
在此模式下,我们创建一个 Redis 集群,其中只有一个包含所有 Redis 节点的分片。其中一个节点被指定为主节点,其他节点称为只读副本节点。

以下是禁用集群模式的 Redis 集群的功能。
Redis(集群模式已禁用)集群中的所有节点必须位于同一区域。为了提高容错能力,您可以在该区域内的多个可用区中配置只读副本。
当您将只读副本添加到集群时,主节点的所有数据都将复制到新节点。从此点开始,每当将数据写入主节点时,更改都会异步传播到所有只读副本。
使用具有副本节点的 Redis(已禁用集群模式)集群来扩展 ElastiCache 的 Redis 解决方案,以处理读取密集型应用程序。
已启用集群模式
在此模式下,我们创建一个包含 1 到 90 个分片的 Redis 集群。每个分片都有一个主节点和最多五个只读副本节点。分片中的每个只读副本都维护来自分片主节点的数据副本。

以下是禁用集群模式的 Redis 集群的功能。
异步复制机制用于使只读副本与主节点保持同步。应用程序可以从集群中的任何节点读取。应用程序只能写入主节点。
此 Redis 集群中的所有节点必须位于同一区域。
您无法手动将任何副本节点提升为主节点。
您只能通过从备份中恢复来更改集群的结构、节点类型和节点数量。