本页面简要介绍了 Memorystore for Redis 集群的跨区域复制。
如需了解如何管理跨区域复制,请参阅使用跨区域复制。
借助跨区域复制,您可以从主集群创建次要集群,以便在不同区域中读取集群。次要集群还可在发生区域性服务中断时为灾难恢复方案提供冗余。
本页面中的关键概念包括:
- 主要集群。单个区域中的读写集群。
- 次要集群。从主集群异步复制数据的只读集群。如需了解如何提升和分离辅助集群,请参阅如何管理跨区域复制中显示的分离和切换任务。
- 复制器节点:主集群分片中复制到次要集群中的跟随者节点的节点。分片中的任何主节点或副本节点都可以充当复制器。
- 跟随者节点:次要集群中从主要集群的复制器节点复制数据的节点。只有辅助集群中的主节点才能具有跟随者角色。
- 分片数量和 slot 分配:主集群和辅助集群具有相同数量的分片和 slot 分配。
优势
Memorystore for Redis Cluster 上的跨区域复制具有以下优势:
- 灾难恢复:如果主集群的区域无法使用,您可以分离或切换到另一个区域中的次要集群,以处理读写请求。次要集群在不发出切换或分离命令的情况下处理读取请求。
- 按地理位置分布的数据:按地理位置分布数据可让数据更靠近您,并缩短读取延迟时间。
- 读取流量的地理位置负载均衡:如果一个区域中的连接速度较慢或过载,您可以将流量路由到另一个区域。
功能行为
本部分介绍了跨区域复制功能的重要行为。
- 扩缩集群容量:当您扩缩主集群的容量时,Memorystore for Redis Cluster 会自动扩缩次要集群,使其与主集群保持一致。
- 扩缩副本数量:您可以根据工作负载需求,独立扩缩主集群和辅助集群的副本数量。对副本数量的更新仅限本地,不会传播到跨区域复制集集群合中的其他集群。
- 在可能发生服务中断时进行切换:即使主集群因服务中断而不可用,您也可以执行切换操作来提升次要集群。当服务中断问题解决后,不可用的主集群会变成次要集群。
- 创建在线次要集群:向主集群添加次要集群时,主集群会保持在线状态。在 Memorystore for Redis Cluster 创建次要集群期间,主要集群会处理请求并复制数据。
- 创建次要集群:您最多可以创建两个次要集群。 它们可以位于同一区域,也可以位于不同区域。您无法将现有集群设置为次要集群。您只能将新集群添加为次要集群。
- 同步设置:Memorystore for Redis 集群会自动在主集群和辅助集群之间同步大多数集群设置。如需详细了解这些设置,请参阅集群设置。
- 价格:对于 Memorystore for Redis Cluster 为跨区域复制预配的任何辅助集群,使用跨区域复制的 Memorystore for Redis Cluster 客户需要付费。对于 Memorystore for Redis 集群在次要集群上部署的每个节点和副本,系统会像对任何其他主要集群一样向您收取费用。此外,您还需要为在不同区域的集群之间转移数据支付网络费用。
- 执行维护更新:为确保与跨区域复制功能兼容,在创建次要集群时,主集群可能会进行维护更新。如果主集群未运行所需的软件版本,则会进行此更新。在创建次要集群时,更新过程可能会带来一些额外的延迟。如需了解详情,请参阅维护简介。
如何管理跨区域复制
跨区域复制涉及以下任务:
- 创建次要集群:创建可从主集群持续复制数据的次要集群。
- 查看次要集群:查看有关次要集群的信息,包括主要集群的名称和复制组中的其他次要集群。
分离次要集群:分离次要集群是指将次要集群从其主集群分离的操作。这样一来,它们就成为功能齐全且接受读取和写入的独立集群。分离操作完成后,次要集群不会再从先前关联的主要集群复制数据。原始主集群和新分离的集群(之前的次要集群)都将作为独立集群运行,彼此之间没有任何关系。
您之所以要分离次要集群,原因如下:
- 区域迁移:执行计划迁移过程,将 Memorystore for Redis 集群资源从主要区域迁移到其他区域。
- 灾难恢复:如果主要区域中的资源变得不可用,可快速激活次要区域中的 Memorystore for Redis Cluster 资源。如果次要集群未完全与主要集群同步,则可能会丢失部分数据。
切换集群:执行切换以反转主集群和次要集群的角色。您可以出于以下原因执行切换:
- 测试灾难恢复设置
- 在实际灾难恢复场景中切换
- 迁移工作负载
切换完成后,Memorystore for Redis 集群会反转复制方向。之前的次要集群现在可以接受读取和写入操作,而之前的主集群则切换为只读模式。
跨区域复制的架构示例
此图显示了 us-east1 区域中的主集群以及 us-west1 和 asia-east1 区域中的次集群。复制方向始终是从主集群到次要集群(在本例中,是从 us-east1 区域到其他区域)。
尽管此图显示了所有区域中副本的数量相同,但借助跨区域复制,您可以根据自己的需求设置不同数量的副本。

集群设置
本部分介绍了使用跨区域复制的主集群和辅助集群所需的设置、复制的设置以及被覆盖的设置。本文档还介绍了在主集群上配置的设置以及在本地配置的设置。
创建次要集群所需的参数
如需创建次要集群,您必须为以下参数设置值:
- Google Cloud project:主集群所在的项目,也是您创建次要集群的项目。
- 区域:您希望辅助集群所在的区域。
- Private Service Connect 配置:次要集群的网络设置。
- 主集群:创建次要集群时,您必须指定主集群。您可以将除辅助集群之外的任何集群用作主集群。如果您没有主集群,请创建主集群。
次要集群从主要集群复制的设置
创建次要集群时,该集群会从主集群复制以下设置:
覆盖默认设置
创建辅助集群时,您可以使用以下设置来替换默认设置:
更新集群设置
在 Memorystore for Redis Cluster 中更新集群的设置时,您只能在主集群中更改某些设置。Memorystore for Redis Cluster 会自动将这些更改同步到辅助集群。
您可以分别更改主集群和辅助集群上的其他设置。Memorystore for Redis Cluster 仅在本地应用这些更改,不会与其他集群同步。
在主集群上配置设置
您必须在主集群上更改以下设置。 Memorystore for Redis Cluster 会自动将这些更改与次要集群同步。
配置本地设置
您可以在本地配置以下设置:
切换主要集群和次要集群的最佳实践
执行切换时,建议您按照本部分中的说明操作。这样,您的应用就可以跟踪写入操作,并将所有写入操作发送到相应的集群。
- 使应用停止向主集群写入数据。
如果有多个次要集群要提升,请确定要将哪个次要集群提升为主集群。以下因素可帮助您确定要推广哪个次要集群:
- 应用与集群的接近程度。这会影响写入延迟时间。
- 在数据方面最接近主集群的次集群。
- 在设置方面,最接近主集群的次要集群。
等待切换操作完成。
更新应用,以将所有写入操作发送到您在第 2 步中选择的新提升的集群。