文档首页/ 对象存储服务 OBS/ 最佳实践/ 基于全站加速WSA的OBS传输加速最佳实践
更新时间:2025-09-12 GMT+08:00
分享

基于全站加速WSA的OBS传输加速最佳实践

应用场景

  • 远距离数据传输:

    如果客户端所在区域与数据存储区域相距较远,那么当客户端访问数据时,可能会因为传输距离远引发访问延时长、不稳定等问题,例如全球性的论坛网站、在线协同办公平台等,远距离传输造成的长时延会影响客户上传下载数据的体验。基于全站加速(Whole Site Acceleration,WSA)的传输加速方案可以让全球各地的客户极大地提升上传和下载速度,让不同地域的用户都能有很好的访问体验。

  • 动态文件下载:

    与其他加速技术相比,WSA不仅加速静态资源,还适用于加速各行业动静态内容混合、含较多动态资源请求(如asp、jsp、php等格式的文件)的源站应用服务。除了常见的网站页面加速,WSA 还能为各种应用类型提供加速服务,包括但不限于Web应用、移动应用、API接口、WebSocket应用等。

方案架构

开启WSA前,客户端请求经过DNS解析后,通过直连网络上传下载OBS。

开启WSA后,客户端请求经过DNS解析后,DNS服务器会通过CNAME方式将域名请求重定向到WSA服务。WSA通过一组预先定义好的策略(如内容类型、地理区域、网络负载状况等),静态内容从当时能够最快响应用户的边缘节点就近获取,动态内容通过动态加速技术避开网络拥堵路由,智能选择较优路由回源获取,使用户可以以最快的速度获得网站内容。

方案优势

加速范围全面:

  • 动静态内容一体化加速:传统的CDN技术大多只能加速静态资源,如图片、样式表、脚本等。而WSA不仅可以对静态资源进行高效缓存和分发,还能针对动态内容,如动态网页、API接口、实时数据等进行加速。
  • 多类型应用加速支持:除了常见的网站页面加速,WSA还能为各种应用类型提供加速服务,包括但不限于Web应用、移动应用、API接口、WebSocket应用等。

智能优化能力强:

  • 智能路由选择:WSA能够根据用户的地理位置、网络运营商、网络质量、节点负载等多种因素,实时动态地计算出到源站的最优访问路径。相比传统的基于DNS的就近访问原则,WSA的智能路由可以更精准地避开网络拥堵、故障等问题,提高数据传输效率。
  • 协议优化:通过自研的协议优化算法,WSA可以降低网络传输中的延迟和卡顿率,尤其在端侧弱网接入场景下,能够有效改善丢包、时延等问题,提升用户在各种网络环境下的访问体验。

资源和成本规划

表1 资源和成本规划

资源

资源说明

数量

费用

全站加速WSA

提供全站加速功能,加速数据上传下载。

NA

基础服务计费:流量或带宽费用,该最佳实践默认按流量阶梯计费,您也可以在WSA服务中购买预付费流量包,更多计费详情请参见价格详情

增值服务计费:全站加速请求数费用,详情请参见价格详情

OBS桶

OBS桶用于存放用户上传和下载的数据,桶存储类别为“标准存储”。

1

存储费用:按照OBS存储数据所占用的存储空间容量大小收费。

流量费用:WSA回源OBS时会产生公网流出费用,按需计费,版本为3.0以上的桶且以“OBS桶域名”形式接入WSA可购买OBS回源流量包抵扣。

网站域名

绑定在对象桶上的自定义域名,用户通过访问该域名来访问桶。

1

域名注册和管理相关费用,不同厂商的收费标准不同。

约束限制

  • 对于使用中国大陆节点服务器提供互联网信息服务的用户,绑定服务器的域名需要在取得备案号后才能进行访问。
  • 您必须是桶拥有者或拥有设置桶的自定义域名的权限,才能设置桶的自定义域名信息。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:PutBucketCustomDomainConfiguration权限,如果使用桶策略则需授予PutBucketCustomDomainConfiguration权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略自定义创建桶策略

操作流程

图1 基于全站加速WSA的OBS传输加速最佳实践操作流程

实施步骤

步骤一:在OBS控制台创建OBS桶

  1. 登录控制台,进入创建桶页面。
  2. 设置“基础配置”。

    参数

    示例

    说明

    区域

    华北-北京四

    桶所属区域。桶创建成功后,不支持变更区域,请谨慎选择。

  3. 设置“桶配置”。其他参数保持默认,可在桶创建后修改。

    参数

    示例

    说明

    桶名称

    wsa-example-bucket

    桶的名称。桶创建成功后,不支持修改名称。

    桶名称命名规则如下:

    • 全局唯一,不能与已有的任何桶(包含其他账号创建的桶)名称重复。删除桶后,需等待30分钟才能创建同名桶或并行文件系统。
    • 长度范围为3到63个字符,支持小写字母、数字、中划线(-)、英文句号(.)。
    • 禁止两个英文句号(.)相邻,禁止英文句号(.)和中划线(-)相邻,禁止以英文句号(.)和中划线(-)开头或结尾。
    • 禁止使用IP地址。

    数据冗余存储策略

    多AZ存储

    • 多AZ存储:数据存储至同区域内的多个可用区(AZ),可靠性更高,同时存储成本相对更高。
    • 单AZ存储:数据仅存储在单个可用区(AZ),成本更低。

    桶创建成功后,不支持更改数据冗余存储策略。

    存储类型

    标准存储

    桶的存储类别。不同的存储类别可以满足客户业务对存储性能、成本的不同诉求。

    • 标准存储:适用于有大量热点文件或小文件,且需要频繁访问(平均一个月多次)并快速获取数据的业务场景。
    • 低频访问存储:适用于不频繁访问(平均一年少于12次),但需要快速获取数据的业务场景。
    说明:

    归档与深度归档存储不支持配置WSA全站加速。

    更多详情请参见存储类别

    桶策略

    私有

    桶的读写权限控制。

    • 私有:除桶ACL授权外的其他用户无桶的访问权限。
    • 公共读:任何用户都可以对桶内对象进行读操作。
    • 公共读写:任何用户都可以对桶内对象进行读/写/删除操作。
    • 复制桶策略:复制源桶的桶策略。当且仅当您选择了源桶时,该选项处于可选状态。

    企业项目

    default

    将桶加入到企业项目中统一管理。如无特殊的企业项目划分和管理需求,此处可直接选择默认企业项目“default”。

    如果您想要了解更多关于如何通过企业项目管理OBS桶,具体请参见创建桶中的“企业项目”参数说明。

  4. 单击页面右下角的“立即创建”,并确认提示信息。

    创建完成后,将会出现创建成功弹窗,确认后在桶列表页即可看到已创建的桶。

步骤二:在OBS控制台向桶中上传对象

  1. 在桶列表页面,单击已创建好的桶名称,进入“对象”页面。
  2. 单击搜索框上方的“上传对象”。
  3. 将本地文件拖拽至“上传对象”区域框内来添加对象。

    也可以通过单击区域框内的“添加文件”,选择本地文件进行添加。

  4. 其他参数保持默认,单击“上传”。

    右侧自动弹出任务中心页面,可在任务中心查看对象上传状态。上传成功的对象将在对象列表中展示。

步骤三:在OBS控制台为桶绑定自定义域名

  1. 在左侧导航栏选择“域名管理”,进入“域名管理”界面。

    图2 域名管理界面

  2. 单击“配置自定义域名”,在用户域名中输入需要配置的自定义域名(此处以“testwsa.com”为例),然后单击“确定”。域名后缀目前支持的范围为2~6个英文大小写字母。如:.com、.cn。

    配置自定义域名

    在配置自定义域名后,配置WSA之前,OBS会暂时将桶域名作为自定义域名的CNAME,配置WSA后CNAME会变更为WSA生成的CNAME,最终在DNS上配置的CNAME为WSA生成的CNAME。

步骤四:在CDN控制台配置全站加速

  1. 登录CDN控制台,单击左侧“域名管理”,进入域名管理页面。
  2. 在域名管理页面单击“添加域名”,进入添加域名页面。
  3. 在添加域名页面,配置域名参数,其他参数保持默认:

    参数

    示例

    说明

    服务范围

    中国大陆

    • 全球:全球各地用户的访问都会调度到用户附近最优的CDN节点,加速域名需要到工信部备案,详见备案流程
    • 中国大陆:所有用户的访问都会调度到中国大陆的节点,加速域名需要到工信部备案,详见备案流程
    • 中国大陆境外:所有用户的访问都会调度到中国大陆境外的节点,此时不需要到工信部备案。

    加速域名

    testwsa.com

    需要加速的域名,请填写可以正常使用的域名。

    • 域名长度不能超过200个字符,支持大小写字母、数字、“-”、“.”“*”,“*”必须是首字符,首字符不能是“-”或“.”。
    • 域名单节点长度不超过63个字符,即:***.***.com中,***的字符数最多63个。

    企业项目

    default

    将加速域名加入到企业项目中统一管理。如无特殊的企业项目划分和管理需求,此处可直接选择默认企业项目“default”。

    业务类型

    全站加速

    适用于各行业动静态内容混合,含较多动态资源请求(如asp、jsp、php等格式的文件)的网站。

    说明:

    如果您未开通全站加速服务,界面将提示您开通WSA服务:

    1. 单击“前往开通”。
    2. 选择计费方式,勾选服务声明,单击“立即开通”即可开通WSA服务。

    回源方式

    HTTP

    配置CDN节点回源时采用的协议,可选:

    • HTTP:CDN采用HTTP协议回源。
    • HTTPS:CDN采用HTTPS协议回源(请确保源站支持HTTPS访问),如需使用请提交工单联系技术人员开通。
    • 协议跟随:回源协议跟客户端访问协议一致,例:客户端以HTTPS协议访问CDN,CDN也将采用HTTPS协议回源,如需使用请提交工单联系技术人员开通。

  4. 在源站配置模块单击“添加源站”,为域名添加源站:

    参数

    示例

    说明

    源站类型

    源站域名

    • 源站IP:使用IP作为源站地址时,CDN节点回源时直接访问该IP地址。支持配置IPv4,暂不支持IPv6。
    • 源站域名:支持配置域名作为源站,CDN节点回源时直接访问该域名。
      说明:
      • 域名首字符为字母或数字,支持大小写字母、数字、“-”、“.”,长度不能超过255个字符。
      • 域名单节点长度不超过63个字符,即:***.***.com中,***的字符数最多63个。

    源站地址

    wsa-example-bucket.obs.cn-north-4.myhuaweicloud.com

    CDN节点回源时访问的地址,此处填写桶域名。

    回源HOST

    testwsa.com

    回源HOST是CDN回源过程中,在源站访问的站点域名,即HTTP请求头中的HOST信息。配置回源HOST后,CDN在回源过程中会根据HOST信息去对应站点获取资源,此处填写加速域名。

  5. 单击“确定”,完成源站添加。
  6. 源站添加完成后,单击页面左下方“确定”按钮,完成域名添加。

步骤五:在CDN控制台获取WSA生成的CNAME

  1. CDN控制台域名管理页面,单击步骤四中添加的域名,进入域名详情页。
  2. 在“基本配置”页签,复制WSA生成的CNAME,这个CNAME将会在步骤六中用到。

步骤六:在DNS控制台配置域名解析

如果您已成功添加加速域名,系统会自动为您的加速域名分配对应的CNAME域名。加速域名在WSA服务中获得的CNAME域名不能直接访问,必须在加速域名的域名服务商处配置CNAME记录,将加速域名指向CNAME域名,访问加速域名的请求才能转发到WSA节点上,达到加速效果。

不同DNS服务商的CNAME配置方式不同,此处以华为云云解析服务为例。其他DNS服务商的CNAME配置方法可参考配置CNAME域名解析

  1. 登录DNS控制台
  2. 在左侧菜单栏中,选择“公网域名”,进入公网域名列表页面。
  3. 单击“域名”列的域名名称。本实践中对应的域名为“testwsa.com”
  4. 单击“添加记录集”,进入“添加记录集”页面。
  5. 根据界面提示填写参数配置,参数信息如表2所示,下表中未提到的参数可保持默认值:

    表2 参数说明

    参数

    示例

    说明

    记录类型

    CNAME-将域名指向另外一个域名

    记录集的类型,此处为CNAME类型。

    主机记录

    *

    解析域名的前缀。

    例如创建的域名为“example.com”,其“主机记录”设置包括:

    • www:用于网站解析,表示解析的域名为“www.example.com”。
    • 空:用于网站解析,表示解析的域名为“example.com”。
    • 主机记录置为空,还可用于为空头域名“@”添加解析。
    • abc:用于子域名解析,表示解析的域名为“example.com”的子域名“abc.example.com”。
    • mail:用于邮箱解析,表示解析的域名为“mail.example.com”。
    • *:用于泛解析,表示解析的域名为“*.example.com”,匹配“example.com”的所有子域名。

    testwsa.com.xxxxxxxx.c.cdnhwc1.com

    需指向的域名。开启WSA加速后,该值为步骤五中获取的WSA分配的CNAME域名。

  6. 单击“确定”,完成添加。
  7. 验证CNAME配置是否生效。

    打开Windows操作系统中的cmd程序,输入如下指令:
    nslookup -qt=cname 桶绑定的自定义域名

    本实践中桶绑定的自定义域名为“testwsa.com”。如果回显CDN分配的CNAME域名,则表示CNAME配置已经生效。

步骤七:构造OBS请求

公开桶直接获取对象URL即可访问桶内资源,详情参见匿名用户通过URL访问对象。私有桶请使用自定义域名计算签名或初始化SDK客户端:

  • 如果您直接调用OBS API访问桶中资源,那么在计算API签名时,请将CanonicalizedResource中的桶名替换为自定义域名,详情参见OBS签名机制
  • 如果您使用OBS SDK访问桶中的资源,那么在初始化SDK客户端时,请将endpoint设置为自定义域名的endpoint,例如“http://testwsa.com”,并为SDK客户端配置自定义域名相关参数,如表3所示。
    表3 SDK客户端自定义域名相关参数

    语言

    Java

    Python

    C

    Go

    BrowserJS

    Android

    iOS

    PHP

    Node.js

    需要设置的参数

    cname

    is_cname

    useCname

    host_name

    cname

    is_cname

    cname

    OBSDomainModeCustom

    is_cname

    is_cname

步骤八:验证加速效果

配置完成后,访问桶内文件,如果文件能成功访问,则表示加速配置成功。

相关文档