借助跨区域复制功能,您可以从主集群创建次要集群,以便在不同区域中使用该集群。如果主集群的区域无法使用,您可以分离或切换到另一个区域中的次要集群来处理读取和写入请求。次要集群无需分离或切换到主集群即可处理读取请求。按地理位置分布数据可让数据更靠近您,并缩短读取延迟时间。如果一个区域中的连接速度较慢或过载,您可以将流量路由到另一个区域。
创建次要集群
当您创建次要集群时,Memorystore for Redis Cluster 会复制一些主集群设置并将其作为次要集群设置应用。如需了解详情,请参阅集群设置。
您可以使用 Google Cloud 控制台或 Google Cloud CLI 在 Memorystore for Redis Cluster 中创建次要集群。
控制台
在 Google Cloud 控制台中,前往 Memorystore for Redis Cluster 页面。
点击主集群。主集群是您要创建的次要集群的父级。
在侧边栏中,点击次要集群 标签页。
点击添加次要集群 。
在添加次要集群 窗口中,进行以下更改:
在集群 ID 字段中,输入您要创建的次要集群的 ID。ID 必须包含 1 到 63 个字符,并且只能使用小写字母、数字或连字符。ID 必须以小写字母开头,以小写字母或数字结尾,并且在其区域中是唯一的。
从区域 菜单中,选择您希望次要集群所在的区域。
在可用区级可用性 部分,选择以下选项之一:
如果您希望集群的所有分片和副本都分布在 Memorystore for Redis Cluster 创建集群的区域的三个可用区中,请选择多可用区 选项。
例如,如果您选择的区域是
us-central1,并且 选择了 多可用区 选项,则 Memorystore for Redis Cluster 会将集群的分片和副本分布在us-central1-a、us-central1-b和us-central1-c可用区中。 如果发生可用区故障,集群中的节点将故障切换到副本。如果您希望集群的所有分片和副本都位于 Memorystore for Redis Cluster 创建集群的区域的一个可用区中,请选择单可用区 选项,然后从可用区 菜单中选择可用区。
使用单可用区可以降低网络费用。但是,如果发生可用区故障,则不会执行故障切换。
从副本 菜单中,选择集群的副本数量(每个分片)。您可以选择零个、一个或两个副本。
从网络 菜单中,为集群选择一个网络。如需详细了解 Memorystore for Redis Cluster 的网络,请参阅网络。
点击添加次要集群 。
gcloud
如需创建次要集群,请使用 gcloud redis clusters create 命令。
gcloud redis clusters create CLUSTER_ID \ --project=PROJECT_ID \ --region=REGION_ID \ --cross-cluster-replication-role=secondary \ --network=NETWORK \ --primary-cluster=PRIMARY_CLUSTER_PATH
进行以下替换:
- CLUSTER_ID:您要创建的次要集群的 ID。 ID 必须包含 1 到 63 个字符,并且只能使用小写字母、数字或连字符。ID 必须以小写字母开头,以小写字母或数字结尾,并且在其区域中是唯一的。
- PROJECT_ID:您要在其中创建 次要集群的项目的 ID。这是主集群所在的项目。
- REGION_ID:您希望次要 集群所在的区域的 ID。
- NETWORK:用于创建集群的网络。它必须使用以下格式:
projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID。您使用的 网络 ID 必须与 服务连接政策 使用的网络 ID 相符。否则,您无法创建次要集群。 - PRIMARY_CLUSTER_PATH:主集群的路径。例如:
projects/my-project/locations/us-central1/clusters/my-primary-cluster。 您可以选择项目中的任何集群作为主集群,只要它不是次要集群即可。
例如:
gcloud redis clusters create my-secondary-cluster \ --project=my-project \ --region=asia-east1 \ --cross-cluster-replication-role=secondary \ --network=projects/my-project/global/networks/default --primary-cluster=projects/my-project/locations/us-central1/clusters/my-primary-cluster
查看次要集群
您可以使用 Google Cloud 控制台或 Google Cloud CLI 查看次要集群的摘要信息。
控制台
在 Google Cloud 控制台中,前往 Memorystore for Redis Cluster 页面。
点击主集群旁边的展开箭头。此集群是您要查看其信息的次要集群的父级。
点击次要集群。系统会显示有关该集群的摘要信息。
gcloud
如需查看次要集群的相关信息,包括列出复制组中的主集群和次要集群的成员资格字段
,请使用
gcloud redis clusters describe 命令。
gcloud redis clusters describe CLUSTER_ID \ --region=REGION_ID \
进行以下替换:
- CLUSTER_ID:次要集群的 ID
- REGION_ID:次要集群所在的区域的 ID
执行切换
借助切换,您可以将次要集群提升为主集群,从而反转主集群和次要集群的角色,以实现灾难恢复。
您可以使用 Google Cloud 控制台或 Google Cloud CLI执行切换。
控制台
在 Google Cloud 控制台中,前往 Memorystore for Redis Cluster 页面。
点击主集群旁边的展开箭头。此集群是您要切换的次要集群的父级。
点击次要集群。
点击提升为主集群 。
在将次要集群提升为主集群? 对话框中,输入次要集群的 ID,然后点击提升 。
切换完成后,您必须将应用重新连接到新的主集群。
gcloud
如需执行切换,请使用 gcloud redis clusters switchover 命令。
gcloud redis clusters switchover CLUSTER_ID \ --project=PROJECT_ID \ --region=REGION_ID \
进行以下替换:
- CLUSTER_ID:您要 切换的次要集群的 ID
- PROJECT_ID:您的项目 ID
- REGION_ID:次要集群所在的区域的 ID
切换完成后,您必须将应用重新连接到新的主集群。
分离次要集群
将一个或多个次要集群从其主集群分离后,这些次要集群将成为功能齐全且接受读取和写入的独立集群。 如需了解详情,请参阅如何使用跨区域复制。
您可以使用 Google Cloud 控制台或 Google Cloud CLI分离次要集群。
分离次要集群
本部分介绍了如何将次要集群从其主集群分离。
控制台
在 Google Cloud 控制台中,前往 Memorystore for Redis Cluster 页面。
点击主集群。这是您要从中分离次要集群的主集群的父级。
在侧边栏中,点击次要集群 标签页。
选中您要从中分离次要集群的主集群的次要集群 ID 旁边的复选框。
点击从主集群分离 。
在要分离次要集群吗? 对话框中,输入次要集群的 ID,然后点击分离 。
gcloud
如需分离次要集群,请使用 gcloud redis clusters detach 命令。
gcloud redis clusters detach CLUSTER_ID \ --project=PROJECT_ID \ --region=REGION_ID
进行以下替换:
- CLUSTER_ID:您要 分离的次要集群的 ID
- PROJECT_ID:您的项目 ID
- REGION_ID:次要集群所在的区域的 ID
分离多个次要集群
本部分介绍了如何将多个次要集群从其主集群分离。您还可以使用本部分中的步骤将无法使用的次要集群从其主集群分离。
控制台
在 Google Cloud 控制台中,前往 Memorystore for Redis Cluster 页面。
点击主集群。这是您要从中分离次要集群的主集群的父级。
在侧边栏中,点击次要集群 标签页。
选中您要从中分离次要集群的主集群的次要集群 ID 旁边的复选框。
点击从主集群分离 。
在要分离次要集群吗? 对话框中,执行以下操作:
输入次要集群的 ID。使用英文逗号分隔 ID。
点击分离 。
gcloud
如需分离多个次要集群,请使用 gcloud redis clusters detach-secondaries 命令。
gcloud redis clusters detach-secondaries PRIMARY_CLUSTER_ID \ --clusters-to-detach=SECONDARY_CLUSTERS \ --project=PROJECT_ID \ --region=PRIMARY_CLUSTER_REGION_ID
进行以下替换:
- PRIMARY_CLUSTER_ID:主集群的 ID。
- SECONDARY_CLUSTERS:您要
分离的次要集群。使用英文逗号分隔集群 ID。每个次要集群都必须采用以下格式:
projects/PROJECT_ID/locations/REGION_ID/clusters/CLUSTER_ID。 - PROJECT_ID:您的项目 ID。
- PRIMARY_CLUSTER_REGION:主集群所在的区域的 ID。
例如:
gcloud redis clusters detach-secondaries my-primary-cluster \ --clusters-to-detach=projects/my-project/locations/us-west4/clusters/my-secondary-cluster-1,projects/my-project/locations/asia-southeast2/clusters/my-secondary-cluster-2 \ --project=my-project \ --region=us-central1
更新集群设置
本部分提供了用于更新集群设置的链接。更新集群设置的过程因您更改主集群还是次要集群的设置而异。如需详细了解如何更新 设置,请参阅集群设置。
更新主集群上的设置
您必须更改主集群上的以下设置。更改后,Memorystore for Redis Cluster 会将更改同步到次要集群。
更新次要集群上的设置
您必须更改次要集群上的以下设置:
删除使用跨区域复制的集群
本部分介绍了如何删除使用跨区域复制的主集群和次要集群。
删除主集群
如需删除主集群,请执行以下操作:
为防止意外删除,您无法同时删除主集群和次要集群。
删除次要集群
如需删除次要集群,请按照删除集群中的说明操作。对于集群 ID,请使用次要集群的 ID。