跨区域复制简介

本页面简要介绍了 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 资源从主要区域迁移到其他 区域。
    • 灾难恢复:如果主要区域中的资源变得不可用,可快速激活 次要区域中的 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 步中选择的新提升的实例。