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

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

使用分片

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

使用创建 MemoryDB 集群时 Amazon Web Services Management Console,需要指定集群中的分片数和分片中的节点数。有关更多信息,请参阅 创建 MemoryDB 集群

分片中每个节点的计算、存储和内存规格均相同。通过 MemoryDB API 可以控制集群范围的属性,如节点数、安全设置和系统维护时段。

有关更多信息,请参阅 MemoryDB 的离线重新分片和分片重新平衡MemoryDB 的在线重新分片和分片重新平衡

查找分片的名称

你可以使用 Amazon Web Services Management Console、 Amazon CLI 或 MemoryDB API 来查找分片的名称。

以下过程使用 Amazon Web Services Management Console 来查找 MemoryDB 集群的分片名称。

  1. 登录 Amazon Web Services Management Console 并打开 MemoryDB 控制台,网址为 https://console.aws.amazon.com/memorydb/。

  2. 在左侧导航窗格中,选择集群

  3. 名称下,选择要查找其分片名称的集群。

  4. 分片和节点选项卡下,在名称下查看分片列表。您还可以展开每项以查看这些节点的详细信息。

要查找 MemoryDB 集群的分片(分片)名称,请使用describe-clusters带有以下可选 Amazon CLI 参数的操作。

  • --cluster-name ——用来将输出限制为指定集群的详细信息的可选参数。如果忽略此参数,将返回最多 100 个集群的详细信息。

  • --show-shard-details——返回分片详细信息,包括分片名称。

此命令将返回 my-cluster 的详细信息。

对于 Linux、macOS 或 Unix:

aws memorydb describe-clusters \ --cluster-name my-cluster --show-shard-details

对于 Windows:

aws memorydb describe-clusters ^ --cluster-name my-cluster --show-shard-details

返回以下 JSON 响应:

添加换行符以便于阅读。

{ "Clusters": [ { "Name": "my-cluster", "Status": "available", "NumberOfShards": 1, "Shards": [ { "Name": "0001", "Status": "available", "Slots": "0-16383", "Nodes": [ { "Name": "my-cluster-0001-001", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } }, { "Name": "my-cluster-0001-002", "Status": "available", "AvailabilityZone": "us-east-1b", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } } ], "NumberOfNodes": 2 } ], "ClusterEndpoint": { "Address": "clustercfg.my-cluster.xxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN": "arn:aws:memorydb:us-east-1:xxxxxexamplearn:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "ACLName": "my-acl", "DataTiering": "false", "AutoMinorVersionUpgrade": true } ] }

要查找 MemoryDB 集群的分片 ID,请使用带有以下可选参数的 API 操作 DescribeClusters

  • ClusterName ——用来将输出限制为指定集群的详细信息的可选参数。如果忽略此参数,将返回最多 100 个集群的详细信息。

  • ShowShardDetails——返回分片详细信息,包括分片名称。

此命令将返回 my-cluster 的详细信息。

对于 Linux、macOS 或 Unix:

https://memory-db.us-east-1.amazonaws.com/ ?Action=DescribeClusters &ClusterName=sample-cluster &ShowShardDetails=true &Version=2021-01-01 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20210802T192317Z &X-Amz-Credential=<credential>