使用碎片 - Amazon MemoryDB

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用碎片

碎片是一到 6 個節點的集合。您可以建立具有較多碎片數量和較少複本數目的叢集,每個叢集最多可達 500 個節點。此叢集配置的範圍從 500 個碎片和 0 個複本到 100 個碎片和 4 個複本,這是允許的最大複本數。叢集的資料會分割到叢集的各個碎片中。如果一個碎片中有超過一個節點,碎片會實作複寫,其中一個節點為讀取/寫入主要節點,其他節點則為僅供讀取複本節點。

當您使用建立 MemoryDB 叢集時 AWS Management Console,您可以指定叢集中的碎片數目以及碎片中的節點數目。如需詳細資訊,請參閱 建立記憶體資料庫叢集

碎片中的每個節點都具有相同的運算、儲存體及記憶體規格。MemoryDB API 可讓您控制整個叢集的屬性,例如節點數目、安全性設定和系統維護時段。

如需詳細資訊,請參閱 MemoryDB 的離線重新分片和碎片重新平衡MemoryDB 的線上重新分片和碎片重新平衡

找到碎片的名字

您可以使用 AWS Management Console、 AWS CLI 或 MemoryDB API 來尋找碎片的名稱。

下列程序會使用 AWS Management Console 來尋找 MemoryDB 叢集的碎片名稱。

  1. 登入 AWS Management Console 並開啟記憶體資料庫主控台,網址為 https://console.aws.amazon.com/memorydb/。

  2. 在左側導覽窗格中,選擇 [叢集]。

  3. 在「名稱」下選擇要查找其碎片名稱的集群。

  4. 在「碎片和節點」選項卡下,查看「名稱」下的碎片列表。您還可以展開每個節點以查看其節點的詳細信息。

若要尋找 MemoryDB 叢集的碎片 (碎片) 名稱,請使用具有下列選用參數describe-clusters的 AWS 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,請使用DescribeClusters具有下列選用參數的 API 作業。

  • 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>