解决方案实践 > 使用CDN加速BOS
使用CDN加速BOS
  • 概览
  • 需求场景
  • 优势
  • 实践操作
  • 相关参考

使用CDN加速BOS

更新时间:

概览

本文介绍如何利用内容分发网络 CDN 对 BOS 中数据进行加速分发。

需求场景

存储分发场景下,BOS用于存放网站的静态图片、视频文件和应用服务的下载内容等文件。存储分发场景通常有以下特点:

  • 静态文件访问量大,访问频率高,服务器负载高
  • 静态文件面对用户基数非常大,并发访问强度大,网络环境又极为复杂
  • 某个时间段需要高速、集中的下载,且并发下载量高,比如应用更新包、程序补丁等等

使用CDN加速BOS,通过CDN服务加速分发能帮助用户就近获得BOS存储服务中存放的文件,极大地提高用户体验。

优势

使用CDN加速BOS搭建存储分发场景有以下优势:

  • 海量存储空间,存储对象数量不受限制;
  • 存储费用极低,BOS的存储费用远低于云磁盘,且支持标准存储和低频存储等多种存储类型;
  • 极大地降低Web服务器负载,对静态文件访问全部通过CDN来承担;
  • 通过百度分布在全国的CDN节点分发,可以极大地缩短用户查看内容的延迟,提高用户访问网站的响应速度与网站的可用性,解决网络带宽小、用户访问量大、网点分布不均等问题。

实践操作

以搭建某个站点为例,通常网站包含主站、静动态文件及程序代码。使用CDN加速BOS的存储分发方案可以对网站进行架构优化,在有限增加成本的情况下提升用户访问体验。具体的解决方案和步骤如下:

  1. 对BCC或任意位置上的网站程序进行整理,区分出动态文件和静态资源,并将静态文件存储到BOS中。

    • 建立一个resources目录,用于存放所有网站静态资源的目录;

    • 在BOS上创建Bucket用于存放网站静态资源的。

      注意:Bucket的“读写权限”权限必须为“公共读”以上权限才能实现外网对于资源的匿名访问。如果已经创建好Bucket,则可以在Bucket设置中进行修改。

      如果需要防止盗链或访问权限保护,可以使用Referer字段或使用AK/SK计算的签名来访问,具体请参考防盗链

  2. 开通CDN

    CDN加速域名开通有“使用官方的默认加速域名”和“使用个人/公司申请的备案域名”两种方法。

    • 使用官方的默认加速域名

      • 创建Bucket的时候,将CDN官方加速选项设置为ON,即可直接获得官方CDN加速的域名。

      • 如果Bucket已经创建完成,可以在Bucket的“发布管理”页面中开启CDN加速。详情参考CDN官方域名加速

    • 使用自定义的加速域名

      自定义的加速域名指用户已经使用个人或公司申请的完成备案的域名。

      选中要加速的Bucket并进入“数据发布”页面,点击“添加自定义加速域名”。域名需要解析成功才能通过CDN加速。

  3. 上传文件并体验CDN加速

    BOS提供了多种上传文件的方案,您可以选择从console上传使用API或SDK上传使用BOS CLI上传等方式。

    本例以通过console上传一个文件为例。

    • 上传完成后,进入“Bucket管理”的“数据管理”页签,检查上传文件对象是否存在。如果存在,那么该文件的CDN加速的访问地址,通常为自定义的加速域名或者官方CDN加速域名+'/'+'文件名'

      如果您有多个CDN加速域名与该Bucket绑定,则多个CDN加速域名都可以生效。

    • 在应用系统中,将对原静态资源访问的URL替换为加速访问的地址(您自定义的加速域名或者官方CDN加速域名+'/'+'文件名'),即通过CDN加速后访问。

      修改完成后对网站静态文件的访问都会通过BOS+CDN形式访问,不仅减少了您机器资源的消耗,也提高了用户访问的速度,提升用户体验

  4. 测试CDN加速

    使用浏览器,通过您自定义的加速域名或者官方CDN加速域名+'/'+'文件名',访问BOS上的资源。

相关参考

  • CDN预加载

    • 启用预加载功能可以让用户首次访问的时候就体验到CDN加速(预热到CDN中),具体操作参考CDN预加载
  • CDN配置规则

    • 若没有在CDN中配置过期时间,且源站没有显示提供http缓存控制头,CDN不缓存数据。
    • 可在CDN中配置过期时间,用以自动更新缓存,具体操作请参考配置缓存过期时间