本页面简要介绍了 Memorystore for Redis Cluster 的跨区域复制。
如需了解如何管理跨区域复制,请参阅使用跨区域复制。
借助跨区域复制,您可以从主集群创建次要集群,以便在不同区域中读取集群。在发生区域性服务中断时,辅助集群还可为灾难恢复方案提供冗余。
本页面中的关键概念包括:
- 主要集群。单个区域中的读写集群。
- 次要集群。次要集群是只读集群,可异步从主要集群复制数据。如需了解如何提升和分离辅助副本,请参阅如何使用跨区域复制中的切换和分离部分。
- 复制器节点。主要集群分片中的一个节点,可复制到次要集群中的跟随者节点。分片中的任何主节点或副本节点都可以充当复制器。
- 跟随者节点。次要集群中从主要集群中的复制器节点复制数据的节点。只有次要集群中的主节点才能具有跟随者角色。
- 分片数和槽分配。主集群和辅助集群具有相同的分片数量和 slot 分配。
优势
Memorystore for Redis Cluster 上的跨区域复制具有以下优势:
- 灾难恢复。如果主集群的区域无法使用,您可以切换到或分离另一个区域中的辅助集群来处理读写请求。辅助集群始终可以随时处理读取请求,而无需发出切换或分离命令。
- 按地理位置分布的数据。按地理位置分布数据可让数据更靠近您,并缩短读取延迟时间。
- 针对读取流量的地理位置负载均衡。如果一个区域中的连接速度较慢或过载,您可以将流量路由到另一个区域。
功能行为
本部分将介绍您应了解的重要跨区域复制行为。
- 扩缩实例容量。当您扩缩主集群的实例容量时,系统会自动扩缩次集群以与主集群保持一致。
- 调整副本数量。您可以根据工作负载需求,独立扩缩主集群和辅助集群的副本数量。对副本数量的更新仅在本地生效,不会传播到跨区域复制集集群合中的其他集群。
- 在可能发生中断期间进行切换。即使主集群因服务中断而不可用,您也可以执行切换来提升次要集群。在这种情况下,不可用的主集群会在服务中断问题解决后最终变成次要集群。
- 在线创建次要集群。向主集群添加次要集群时,主集群会保持在线状态。主数据库在创建辅助数据库和复制数据期间处理请求。
- 次要集群。您最多可以添加两名次要联系人。它们可以位于所有可用区域。如果您愿意,它们可以位于不同的区域。现有集群无法成为次要集群。只能将新集群作为辅助集群添加到现有集群。
- 同步设置。大多数设置都会在主集群和辅助集群之间自动同步。如需详细了解这些设置,请参阅集群设置。
- 定价。使用跨区域复制的客户需要为为跨区域复制预配的任何次要集群付费。对于部署在次要集群上的每个节点和副本,客户需要支付的费用与任何其他主要集群相同。此外,客户还需要为不同区域中集群之间的数据传输支付网络费用。
- 维护更新。为确保与跨区域复制功能兼容,在创建辅助集群时,如果主集群尚未运行所需的软件版本,则可能会进行维护更新。此更新过程可能会在创建辅助集群时引入一些额外的延迟。如需详细了解维护,请参阅维护简介。
如何使用跨区域复制
使用 Memorystore for Redis Cluster 跨区域复制涉及以下任务:
- 创建次要集群。您创建的次要集群会持续从主集群复制数据。
- 查看次要集群。您可以查看有关次要集群的信息,包括主集群名称和复制组中的其他次要集群。
分离次要集群。分离次要集群是指将次要集群从其主集群分离的操作。这样一来,它们就成为功能齐全且接受读取和写入的独立集群。分离操作完成后,次要集群不会再从先前关联的主要集群复制数据。原始主要集群和新分离的集群(之前的次要集群)都充当独立集群,彼此之间没有任何关系。
分离辅助集群主要有两种场景:
- 区域迁移。执行计划迁移过程,将 Memorystore for Redis Cluster 资源从主要区域迁移到其他区域。
- 灾难恢复。如果主要区域中的资源变得不可用,可快速激活次要区域中的 Memorystore for Redis Cluster 资源。如果次要集群未完全赶上主集群,可能会发生一些数据丢失。
切换集群。借助切换,您可以反转主要集群和次要集群的角色。您可以执行切换操作来测试灾难恢复设置、在实际灾难恢复场景中执行切换,或执行工作负载迁移。切换完成后,复制方向会反转,旧的次要集群能够接受读取和写入操作,而旧的主集群会切换为只读状态。
跨区域复制架构示例
下图显示了区域 us-east1
中的主集群以及 us-west1
和 asia-east1
中的次要集群。复制方向始终是从 us-east1
到其他区域。请注意,尽管下图显示了所有区域中副本的数量相同,但借助跨区域复制功能,您可以根据自己的需求灵活地设置不同数量的副本。
集群设置
本部分介绍了使用跨区域复制的主集群和辅助集群需要哪些设置,以及哪些设置会被复制或替换。本文还介绍了哪些设置是在主设备上配置的,哪些是在本地配置的。
创建次要集群所需的参数
- Google Cloud 项目。这是主集群所在的项目,也是将创建辅助集群的项目。
- Region. 这是您希望放置辅助集群的区域。
- Private Service Connect 配置。这是集群的网络设置。
- 主要集群。创建次要集群时,您必须为次要集群指定主集群。除次要集群之外的任何集群都可以用作主要集群。如果您没有主集群,应先创建主集群。
在创建实例期间从主实例复制的设置
在创建次要集群期间,次要集群会从主集群复制以下设置:
在创建实例期间允许替换
以下设置允许在创建实例期间替换默认设置。
更新集群设置
更新集群设置时,某些设置只能在主集群上更改,并且更改最终会自动同步到辅助集群。您可以在主要集群和次要集群上单独更改其他设置,这些设置仅在本地应用,不会同步到其他集群。
设置在主账号上
必须在主设备上更改以下设置,并且更新会同步到辅助设备:
已在本组织部门设置
您可以在本地配置这些设置:
切换最佳实践
执行切换操作时,我们建议您按照本部分中的说明操作,以便您的应用能够跟踪写入操作,并将写入操作发送到相应的集群。
- 使应用停止向主集群写入数据。
确定要提升的次要集群(如果有多个次要集群可供选择)。以下是一些有助于确定要推广哪个次要指标的因素:
应用与集群的邻近程度。这可能会影响写入延迟时间。
在数据方面最接近最新状态的集群。
在设置方面与主集群最接近的集群。
等待切换操作完成。
更新应用,以将写入操作发送到您在第 2 步中选择的新提升的集群。