概述
若您为 Bucket 配置了镜像回源,当用户访问该 Bucket 中某一 Object 时,发现该 Object 在 BOS 中并不存在,则 BOS 会立刻向预先配置好的回源地址请求该 Object,保证访问正常进行。在请求过程中,源站返回的数据会自动给到请求用户而用户对该过程无感。同时,该数据也会自动存入 BOS,提升日后该类请求的流畅性。
镜像回源是一个 Bucket 级别的设置。当 Bucket 开启镜像回源功能,且用户访问 BOS 的 GetObject 请求返回 404 时会触发镜像回源。GetObject 请求中所带的 header、querystring 不会发给源站,源站的返回信息里如果带有以下 header(Content-Type、Content-Encoding、Content-Disposition、Cache-Control、Expires、Content-Language),BOS 会将它们保存为object 的 meta 信息,并同时返回给用户。
回源地址支持 HTTP/HTTPS 协议,可以使用域名或 IP,支持加端口。如果回源地址中不带协议,则默认使用 HTTP 协议。
业务使用流程
假设有如下场景:源站有一批冷数据,同时在不断生成新的热数据。
- 您可以先通过 BOS CMD工具 或其他迁移工具(如果数据量较大可以提交工单),将数据迁移到 BOS 中,同时为相应的 Bucket 配置镜像回源规则;
- 直接把业务域名切换成 BOS 的 Bucket 域名。虽然还有新生成的部分热数据尚未迁移到 BOS 中,但用户依然可以正常从 BOS 访问(BOS一边从源站读取数据,一边将数据存入BOS中),并且访问一次后数据就会存入到BOS;
- 当源站无新的热数据产生时,此时可以扫描一次源站,把残余数据导入 BOS。完成之后,就可以关闭镜像回源设置。
说明:
- 目前不支持对图片服务相关 GetObject 请求进行镜像回源;
- BOS 在进行镜像回源时,默认不会携带原请求中的 QueryString与Header ,但是您可以主动设置传递QueryString。
设置镜像回源
- 登录 对象存储 BOS 管理控制台。
- 在左侧 Bucket 列表中,选择需要设置权限的 Bucket,点击 Bucket 名称进入 Bucket 管理目录。
- 在上方导航栏选择 配置管理 页签。
- 在 配置管理 页面中选择 基础配置,在 镜像回源配置 区域点击 修改配置 对该 Bucket 的镜像回源进行配置。
- 镜像回源默认为关闭状态,您选择"开启"后,可以对规则进行配置。并指定回源地址。
配置名称 | 配置描述 |
---|---|
回源方式 |
|
回源地址 |
|
存储类型 |
|
回源参数 |
|
HTTP header 传递设置 |
|
- 点击 确认,完成镜像回源配置。
- 配置完成后,您可以在 镜像回源配置 中看到已生成的权限记录,若您希望修改该配置,可以点击 修改配置 进行修改。