了解 Valkey 和 Redis 的复制 OSS - 亚马逊 ElastiCache

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

了解 Valkey 和 Redis 的复制 OSS

Redis 通过两种方式OSS实现复制:

  • 使用包含每个节点中所有集群数据的单个分片 — valkey 或 RedisOSS(已禁用集群模式)

  • 将数据分成多达 500 个分片——valkey 或 RedisOSS(已启用集群模式)

复制组中的每个分片都包含一个读/写主节点和最多 5 个只读副本节点。您可以创建具有更多分片和更少副本的集群,每个集群最多可包含 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(每个实例类型的每个集群的节点数)

Valkey 或 RedisOSS(已禁用集群模式)

Valkey 或 RedisOSS(已禁用集群模式)集群只有一个分片,其中有一组节点;一个主读/写节点和最多五个辅助只读副本节点。每个只读副本保留一个集群主节点数据的副本。可使用异步复制机制使只读副本与主集群同步。应用程序可以从集群中的任何节点进行读取。应用程序只能对主节点进行写入。只读副本增加了读取吞吐量,并在节点发生故障时防止数据丢失。

图片:带有单个分片和副本节点的 Valkey 或 RedisOSS(已禁用集群模式)集群

带有单个分片和副本节点的 Valkey 或 RedisOSS(已禁用集群模式)集群

您可以使用带有副本节点的 Valkey 或 RedisOSS(已禁用集群模式)集群来扩展您的解决方案, ElastiCache 以处理读取密集型应用程序,或者支持同时从同一集群读取的大量客户端。

Valkey 或 RedisOSS(已禁用集群模式)集群中的所有节点都必须位于同一区域。

在向集群添加只读副本时,主集群中的所有数据都会复制到新节点。从此之后,只要向主集群写入数据,更改便会异步传播到所有只读副本。

要提高容错能力并减少写入停机时间,请为带有副本的 Valkey 或 RedisOSS(已禁用集群模式)集群启用带自动故障转移功能的多可用区。有关更多信息,请参阅 使用 Valke ElastiCache y 和 Redis 的多可用区,最大限度地减少停机时间 OSS

您可以更改 Valkey 或 RedisOSS(已禁用集群模式)集群中节点的角色,主节点和其中一个副本交换角色。您可能会为了优化性能执行此操作。例如,对于具有大量写入活动的 Web 应用程序,您可以选择网络延迟最低的节点。有关更多信息,请参阅 对于 Valkey 或 RedisOSS(已禁用集群模式)复制组将只读副本提升为主副本

Valkey 或 RedisOSS(已启用集群模式)

Valkey 或 RedisOSS(已启用集群模式)集群由 1 到 500 个分片(API/CLI: 节点组)组成。每个分片有一个主节点和最多 5 个只读副本节点。配置的范围可以从 90 个分片和 0 个副本到 15 个分片和 5 个副本,这是允许的最大副本数。

如果引擎版本为 Valkey 7.2 及更高版本或 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(每个实例类型的每个集群的节点数)

分片中的每个只读副本均保留分片主集群中数据的一份副本。可使用异步复制机制使只读副本与主集群同步。应用程序可以从集群中的任何节点进行读取。应用程序只能对主节点进行写入。只读副本可增强读取可扩展性和防止数据丢失。数据在 Valkey 或 RedisOSS(已启用集群模式)集群中的分片之间进行分区。

应用程序使用 Valkey 或 RedisOSS(已启用集群模式)集群的配置终端节点来连接集群中的节点。有关更多信息,请参阅 在中查找连接端点 ElastiCache

图片:具有多个分片和副本节点的 Valkey 或 RedisOSS(已启用集群模式)集群

具有多个分片和副本节点的 Valkey 或 RedisOSS(已启用集群模式)集群

Valkey 或 RedisOSS(已启用集群模式)集群中的所有节点都必须位于同一区域。要增强容错能力,您可在该区域内的多个可用区中预配置主副本和只读副本。

当前,Valkey 或 RedisOSS(已启用集群模式)功能存在一些限制。

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