使用分片 - 亚马逊 ElastiCache (Redis OSS)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用分片

分片(API/CLI:节点组)是由一到六个 ElastiCache (Redis OSS)节点组成的集合。一个 Redis OSS(已禁用集群模式)集群的分片永远不会超过一个。使用分片,您可以将大型数据库分成更小、更快、更易于管理的部分,称为数据分片。这可以通过将操作分配到多个单独的部分来提高数据库效率。使用分片可以带来许多好处,包括提高性能、可扩展性和成本效益。

您可以创建具有更多分片和更少副本的集群,每个集群最多可包含 90 个节点。此集群配置的范围可以从 90 个分片和 0 个副本到 15 个分片和 5 个副本,这是允许的最大副本数。集群的数据分配到该集群的各个分片上。如果分片包含多个节点,则该分片实现了一个节点作为读取/写入主节点且其他节点为只读副本节点的复制。

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

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

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

使用 ElastiCache 控制台创建 Redis OSS(已启用集群模式)集群时,需要指定集群中的分片数和分片中的节点数。有关更多信息,请参阅 创建 Redis OSS(已启用集群模式)集群(控制台)。如果您使用 ElastiCache API 或 Amazon CLI 创建集群(在 API/CLI 中称为复制组),则可以独立配置分片(API/CLI:节点组)中的节点数量。有关更多信息,请参阅下列内容:

  • API: CreateReplicationGroup

  • CLI:create-replication-group

分片中每个节点的计算、存储和内存规格均相同。该 ElastiCache API 允许您控制分片范围的属性,例如节点数量、安全设置和系统维护时段。

图片:Redis OSS 分片配置。

Redis OSS 分片配置

有关更多信息,请参阅 Redis OSS 的离线重新分片和分片再平衡(已启用集群模式)Redis OSS 的在线重新分片和分片再平衡(已启用集群模式)

查找分区的 ID

您可以使用 Amazon Web Services Management Console、 Amazon CLI 或 ElastiCache API 查找分片的 ID。

使用 Amazon Web Services Management Console

适用于 Redis OSS(已禁用集群模式)

Redis OSS(已禁用集群模式)复制组分片 ID 始终为。0001

适用于 Redis OSS(已启用集群模式)

以下过程使用查找 Redis OSS(已启用集群模式)的复制组的分片 ID。 Amazon Web Services Management Console

在 Redis OSS(已启用集群模式)复制组中查找分片 ID
  1. 登录 Amazon Web Services Management Console 并打开 ElastiCache 控制台,网址为 https://console.aws.amazon.com/elasticache/

  2. 在导航窗格上,选择 Redis OSS,然后选择要为其查找分片 ID 的 Redis OSS(已启用集群模式)复制组的名称。

  3. Shard Name(分区名称)列中,分区 ID 是分区名称的最后四位数字。

使用 Amazon CLI

要查找 Redis OSS(已禁用集群模式)或 Redis OSS(已启用集群模式)复制组的分片(节点组)ID,请使用describe-replication-groups带有以下可 Amazon CLI 选参数的操作。

  • --replication-group-id – 用来将输出限制为指定复制组的详细信息的可选参数。如果忽略此参数,将返回最多 100 个复制组的详细信息。

此命令将返回 sample-repl-group 的详细信息。

对于 Linux、macOS 或 Unix:

aws elasticache describe-replication-groups \ --replication-group-id sample-repl-group

对于 Windows:

aws elasticache describe-replication-groups ^ --replication-group-id sample-repl-group

该命令的输出类似于此处所示。分片(节点组)ID 在此处突出显示,以便更容易找到它们。

{ "ReplicationGroups": [ { "Status": "available", "Description": "2 shards, 2 nodes (1 + 1 replica)", "NodeGroups": [ { "Status": "available", "Slots": "0-8191", "NodeGroupId": "0001", "NodeGroupMembers": [ { "PreferredAvailabilityZone": "us-west-2c", "CacheNodeId": "0001", "CacheClusterId": "sample-repl-group-0001-001" }, { "PreferredAvailabilityZone": "us-west-2a", "CacheNodeId": "0001", "CacheClusterId": "sample-repl-group-0001-002" } ] }, { "Status": "available", "Slots": "8192-16383", "NodeGroupId": "0002", "NodeGroupMembers": [ { "PreferredAvailabilityZone": "us-west-2b", "CacheNodeId": "0001", "CacheClusterId": "sample-repl-group-0002-001" }, { "PreferredAvailabilityZone": "us-west-2a", "CacheNodeId": "0001", "CacheClusterId": "sample-repl-group-0002-002" } ] } ], "ConfigurationEndpoint": { "Port": 6379, "Address": "sample-repl-group.9dcv5r.clustercfg.usw2.cache.amazonaws.com" }, "ClusterEnabled": true, "ReplicationGroupId": "sample-repl-group", "SnapshotRetentionLimit": 1, "AutomaticFailover": "enabled", "SnapshotWindow": "13:00-14:00", "MemberClusters": [ "sample-repl-group-0001-001", "sample-repl-group-0001-002", "sample-repl-group-0002-001", "sample-repl-group-0002-002" ], "CacheNodeType": "cache.m3.medium", "DataTiering": "disabled", "PendingModifiedValues": {} } ] }

要查找 Redis OSS(已禁用集群模式)或 Redis OSS(已启用集群模式)复制组的分片(节点组)ID,请使用describe-replication-groups带有以下可 Amazon CLI 选参数的操作。

  • ReplicationGroupId – 用来将输出限制为指定复制组的详细信息的可选参数。如果忽略此参数,将返回最多 xxx 个复制组的详细信息。

此命令将返回 sample-repl-group 的详细信息。

对于 Linux、macOS 或 Unix:

https://elasticache.us-west-2.amazonaws.com/ ?Action=DescribeReplicationGroup &ReplicationGroupId=sample-repl-group &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>