跨区域复制简介

本页面简要介绍了 Memorystore for Valkey 的跨区域复制。

如需了解如何管理跨区域复制,请参阅使用跨区域复制

借助跨区域复制,您可以从主实例创建次要实例,以便在不同区域中读取实例。 在发生区域性服务中断时,辅助实例还可为灾难恢复场景提供冗余。

本页面中的关键概念包括:

  • 主实例:单个区域中的读写实例。
  • 辅助实例:以异步方式从主实例复制数据的只读实例。如需了解如何提升和分离辅助实例,请参阅如何管理跨区域复制中显示的分离切换任务。
  • 复制器节点:主实例分片中复制到次实例中的跟随者节点的节点。分片中的任何主节点或副本节点都可以充当复制器的角色。
  • 跟随者节点:次要实例中从主要实例中的复制器节点复制数据的节点。只有辅助实例中的主节点才能具有追随者角色。
  • 分片数和 slot 分配:主实例和辅助实例具有相同数量的分片和 slot 分配。

优势

Memorystore for Valkey 上的跨区域复制具有以下优势:

  • 灾难恢复:如果主实例的区域变得不可用,您可以分离或切换到另一个区域中的辅助实例,以处理读写请求。辅助实例在不发出切换或分离命令的情况下处理读取请求。
  • 按地理位置分布的数据:按地理位置分布数据可让数据更靠近您,并缩短读取延迟时间。
  • 读取流量的地理位置负载均衡:如果一个区域中的连接速度较慢或过载,您可以将流量路由到另一个区域。

功能行为

本部分介绍了跨区域复制功能的重要行为。

  • 扩缩实例容量:当您扩缩主实例的容量时,Memorystore for Valkey 会自动扩缩辅助实例,使其与主实例相匹配。
  • 扩缩副本数量:您可以根据工作负载需求,独立扩缩主实例和辅助实例的副本数量。对副本数量的更新仅在本地进行,不会传播到跨区域复制集合中的其他实例。
  • 在可能发生中断时进行切换:即使主实例因中断而不可用,您也可以执行切换来提升次实例。服务中断问题解决后,不可用的主实例会变为辅助实例。
  • 创建在线次要实例:向主实例添加次要实例时,主实例会保持在线状态。在 Memorystore for Valkey 创建次要实例期间,主要实例会处理请求并复制数据。
  • 创建次要实例:您最多可以创建两个次要实例。它们可以位于同一区域,也可以位于不同区域。您无法将现有实例设为次要实例。您只能将新实例添加为次要实例。
  • 同步设置:Memorystore for Valkey 会自动在主实例和辅助实例之间同步大多数实例设置。如需详细了解这些设置,请参阅实例设置
  • 价格:对于为跨区域复制而预配的任何辅助实例,Memorystore for Valkey 会向使用跨区域复制的客户收费。对于 Memorystore for Valkey 在辅助实例上部署的每个节点和副本,您需要支付的费用与任何其他主实例相同。此外,您还需要为在不同区域的实例之间传输数据支付网络费用
  • 执行维护更新:为确保与跨区域复制功能兼容,在创建辅助实例时,主实例可能会进行维护更新。如果主实例未运行所需的软件版本,则会进行此更新。在创建次要实例时,更新过程可能会带来一些额外的延迟。如需了解详情,请参阅维护简介

如何管理跨区域复制

跨区域复制涉及以下任务:

  • 创建次要实例:创建可从主实例持续复制数据的次要实例。
  • 查看次要实例:查看次要实例的相关信息,包括主实例的名称和复制组中的其他次要实例。
  • 分离次要实例:分离次要实例是指将次要实例与其主实例分离的操作。这样一来,它们就成为功能齐全且接受读取和写入的独立实例。分离操作完成后,次要实例将不再从先前关联的主实例复制数据。原始主实例和新分离的实例(之前的辅助实例)都将作为彼此独立的实例运行,彼此之间没有任何关系。

    您可能出于以下原因而分离次要实例:

    • 区域迁移:执行计划迁移过程,将 Memorystore for Valkey 资源从主要区域迁移到其他区域。
    • 灾难恢复:如果主要区域中的资源变得不可用,可快速激活次要区域中的 Memorystore for Valkey 资源。如果次要实例未完全与主实例同步,则可能会丢失部分数据。
  • 切换实例:执行切换以反转主实例和辅助实例的角色。您可以出于以下原因执行切换:

    • 测试灾难恢复设置
    • 在实际灾难恢复场景中切换
    • 迁移工作负载

    切换完成后,Memorystore for Valkey 会反转复制方向。之前的次要实例现在可以接受读取和写入操作,而之前的主实例则切换为只读状态。

跨区域复制的架构示例

此图显示了 us-east1 区域中的主实例以及 us-west1asia-east1 区域中的辅助实例。复制方向始终是从主实例到次实例(在本示例中,是从 us-east1 区域到其他区域)。

尽管此图显示了所有区域中副本的数量相同,但借助跨区域复制,您可以根据自己的需求设置不同数量的副本。

实例设置

本部分介绍了使用跨区域复制的主实例和次实例所需的设置、复制的设置以及覆盖的设置。本文还介绍了在主实例上配置的设置以及在本地配置的设置。

创建次要实例所需的参数

如需创建辅助实例,您必须为以下参数设置值:

  • Google Cloud 项目:主实例所在的项目,也是您创建辅助实例的项目。
  • 区域:您希望辅助实例所在的区域。
  • Private Service Connect 配置:辅助实例的网络设置
  • 主实例:创建辅助实例时,您必须指定主实例。您可以使用除辅助实例之外的任何实例作为主实例。如果您没有主实例,请创建主实例

次要实例从主实例复制的设置

创建辅助实例时,该实例会从主实例复制以下设置:

覆盖默认设置

创建辅助实例时,您可以使用以下设置来替换默认设置:

更新实例设置

更新 Memorystore for Valkey 实例的设置时,您只能在主实例上更改某些设置。Memorystore for Valkey 会自动将这些更改同步到辅助实例。

您可以分别更改主实例和辅助实例上的其他设置。Memorystore for Valkey 仅在本地应用这些更改,不会将其与其他实例同步。

在主实例上配置设置

您必须在主实例上更改以下设置。Memorystore for Valkey 会自动将这些更改与辅助实例同步。

配置本地设置

您可以在本地配置这些设置:

切换主实例和辅助实例的最佳实践

执行切换时,我们建议您按照本部分中的说明操作。这样,您的应用就可以跟踪写入操作,并将所有写入操作发送到相应的实例。

  1. 使应用停止向主实例写入数据。
  2. 如果有多个次要实例要提升,请确定要提升为主要实例的次要实例。以下因素可帮助您确定要提升哪个次要实例:

    • 应用与实例的距离。这会影响写入延迟时间。
    • 在数据方面最接近主实例的辅助实例。
    • 设置方面,最接近主实例的次要实例。
  3. 对辅助实例执行切换操作

  4. 等待切换操作完成。

  5. 更新您的应用,以将所有写入操作发送到您在第 2 步中选择的新升级实例。