You need to enable JavaScript to run this app.
导航
创建多区域回源规则
最近更新时间:2025.03.25 17:29:53首次发布时间:2025.03.25 17:29:53
我的收藏
有用
有用
无用
无用

设置多区域回源规则后,通过多区域接入点访问 TOS 时,如果请求的对象在该桶中不存在,TOS 会从多区域接入点下的其他存储桶中拉取对象,并返回给客户端。本文介绍多区域回源规则的功能、回源策略、操作步骤等内容。

功能介绍

多区域接入点多桶复制模式支持一键为多个桶创建跨区域复制规则,从而将数据异步复制到各个桶。通过多区域接入点访问 TOS 时,TOS 会自动将该请求路由到最近距离的存储桶,如果您未创建多区域回源规则,通过多区域接入点访问尚未复制完成的对象,则会返回 404。
设置多区域回源规则后,如果 GetObject 或 HeadObject 请求的对象在存储桶中不存在,TOS 会从多区域接入点下其他存储桶中拉取对象,并同步返回给客户端。借助多区域回源功能,您可以通过单一入口便捷地获取多区域接入点下各个存储桶中的数据,无论数据存储在哪个存储桶,都能实现全局访问。

回源策略

多区域回源支持多种回源策略,具体说明如下:

回源规则

回源策略

功能介绍

特点

创建多区域回源规则

最短路径优先

通过多区域接入点访问 TOS 时,如果 GetObject 或 HeadObject 请求的对象在存储桶中不存在,TOS 会优先从离客户端最近地域的存储桶中拉取对象,如果该存储桶中无目标对象,则会从下一个最近地域的存储桶拉取对象,直到找到目标对象,然后将该对象返回给客户端。

  • 性能好,低时延。
  • 弱数据一致性,不保证获取到最新数据。

最新对象优先

通过多区域接入点访问 TOS 时,无论 GetObject 或 HeadObject 请求的对象在存储桶中是否存在,TOS 都会在多区域接入点下的存储桶中拉取最新版本的对象,并返回给客户端。

  • 性能差,时延较长。
  • 强数据一致性,保证获取到最新数据。

没有创建多区域回源规则

通过多区域接入点访问 TOS 时,TOS 会自动将该请求路由到最近距离的存储桶,如果此时访问的是尚未复制完成的对象,则会返回 404。

弱数据一致性,访问尚未复制完成的对象时,存在返回 404 的情况。

访问结果

多区域回源规则支持最新对象优先和最短路径优先策略,不同的策略,返回的结果不同。

说明

通过多区域接入点访问 TOS 时,存在两种数据一致性:

  • 写后读强一致性:写入对象到多区域接入点下的存储桶后,通过多区域接入点访问 TOS 时,可以立即获取到多区域接入点下存储桶中最新对象。
  • 数据最终一致性:写入对象到多区域接入点下的存储桶后,通过多区域接入点访问 TOS 时,不能保证一定获取到最新数据,具体取决于您请求路由访问的存储桶,但在对象复制完成后,最终可以获取到多区域接入点下存储桶中最新对象。
  • 最新对象优先策略
    最新对象优先策略具有写后读强一致性的特点。配置最新对象优先策略后,无论在什么场景下,通过多区域接入点访问 TOS 时,TOS 都将拉取多区域接入点中最新版本对象,并返回给客户端。

  • 最短路径优先策略
    最短路径优先策略不能保证一定获取到最新的数据。上传对象到目标桶中存在多种场景,不同场景,通过多区域接入点访问 TOS 时,获取到的对象不同。
    例如创建了一个多区域接入点 mrap1,其下有 3 个存储桶,分别为 bucket-r1 、 bucket-r2 和 bucket-r3, bucket-r1 位于华北2(北京),bucket-r2 位于华东2(上海),bucket-r3 位于华南1(广州)。

    场景

    数据一致性

    访问示例

    上传新对象到单个桶

    数据写后读强一致性

    上传对象 object-v1 到 bucket-r1 桶,通过多区域接入点访问该对象,TOS 将请求路由到 bucket-r2,触发多区域回源。
    触发多区域回源后,TOS 会按照就近顺序访问存储桶,在 bucket-r1 桶找到 object-v1 对象后,TOS 将拉取最新版本对象 object-v1,并返回给客户端。

    上传新对象到多个桶

    数据最终一致性

    相同名称的两个对象,分别为 object-v1 和 object-v2,先将 object-v1 上传到 bucket-r1 桶,再将 object-v2 上传到 bucket-r2 桶。TOS 将请求路由到 bucket-r3,触发多区域回源。
    触发多区域回源后,TOS 会按照就近顺序访问存储桶,如果就近的桶是 bucket-r1,则会拉取 object-v1 对象返回给客户端,就近桶是 bucket-r2,则会拉取 object-v2 对象返回给请求方,待跨区域复制完成后,通过多区域接入点访问 TOS,将获取到最新对象,即 object-v2 对象。

    覆盖对象

    数据最终一致性

    相同名称的两个对象,分别为 object-v1 和 object-v2,先将 object-v1 上传到 bucket-r1 桶,再将 object-v2 上传到 bucket-r1 桶,然后通过多区域接入点访问对象。
    获取的对象由访问的时间点决定,不同时间点,获取到的对象不同,说明如下:

    • 跨区域复制未完成时,通过多区域接入点访问该对象,则会触发多区域回源,可以回源获取到最新对象,即 object-v2 对象。
    • 跨区域复制过程中,已复制 object-v1 对象到其他桶,通过多区域接入点访问该对象时,将获取到 object-v1 对象。
    • 跨区域复制过程中,已复制 object-v2 对象到其他桶,通过多区域接入点访问该对象时,将获取到 object-v2 对象。

使用限制

  • 多区域接入点创建成功后,才支持配置多区域回源规则。
  • 仅多桶模式的多区域接入点支持多区域回源功能。
  • GetObjectHeadObject 操作支持触发多区域回源。
  • 更新或删除多区域接入点回源规则后,预计需要等待 1~2 分钟后,才能生效。

操作步骤

  1. 登录对象存储控制台

  2. 在左侧导航栏,单击多区域接入点

  3. 多区域接入点页面,单击目标多区域接入点的名称。

  4. 在多区域接入点详情页面,单击回源规则页签,然后单击创建规则。

  5. 创建规则对话框,配置如下参数。

    参数

    说明

    规则名称

    多区域回源规则的名称。

    状态

    是否启用多区域回源规则,可选启用禁用

    策略类型

    回源策略类型,说明如下:

    • 最短路径优先:触发多区域回源后,TOS 会优先从离客户端最近地域的存储桶中拉取对象,如果该存储桶中无目标对象,则会从下一个最近地域的存储桶拉取对象,直到找到目标对象,然后将该对象返回给客户端。
    • 最新对象优先:通过多区域接入点访问 TOS 时,无论访问的对象在存储桶中是否存在,TOS 都会在多区域接入点下的存储桶中拉取最新版本的对象,并返回给客户端。

    应用范围

    触发多区域回源的对象范围,说明如下:

    • 整个存储桶:表示多区域回源规则作用于整个存储桶。
    • 指定前缀:表示多区域回源规则作用于指定前缀对象,只有访问指定前缀的对象时,才会触发多区域回源。

      说明

      最多可以添加 10 个对象前缀。

  6. 完成设置后,单击确定

相关操作

在多区域接入点详情页面回源规则页签下,单击目标回源规则操作列下的编辑,修改多区域回源规则,然后单击确定