【 CDN 最佳实践】CDN 加速 OSS 常见问题及处理思路

来源:互联网 发布:手机淘宝部分退款流程 编辑:程序博客网 时间:2024/05/16 09:22

CDN 加速 OSS 是常见的站点动静分离的方式,可以实现将静态资源存储在 OSS 上,并通过 CDN 加速 OSS 实现静态资源的访问加速效果。但是在实际使用的过程中可能会出现使用方法以及配置上的问题导致使用上出现难题。本文档主要就 CDN 加速 OSS 的配置以及各注意事项进行描述已解决本使用场景中遇到的问题。

1. 使用场景描述

图 1 所示即是常见的站点动静分离的解决方案。从该图中可以查看到整个站点数据包括动态资源和静态资源两个部分,其中动态资源主要是指站点的 web 程序以及数据库等内容,其主要部署在云服务器 ECS 上(数据库可部署在 RDS 上)。该部分控制了整个站点的业务逻辑,用户会发动态请求到业务服务器,业务服务器决定了系统逻辑返回给客户以什么动态数据。而另外一部分则是以静态脚本(例如 css 、 js 文件等)、图片、音视频等静态资源。这些静态资源存储在 OSS 中,然后通过 CDN 对这些静态资源的下载操作进行加速。而维护 OSS 中的数据则可以通过 ECS 内网操作 OSS 以进行增删改操作。
                                    image
                                                                        图 1. 动静分离架构示意图
 我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,马上就要抢光了。

这样设计的优势在于:

  1. 静态资源的访问将直接通过 CDN 的逻辑直接返回给客户端,而不需要占用 ECS 的各项负载(主要包括带宽、 CPU 以及内存等)。同时静态资源的上传也可以通过客户端直接上传至 OSS ,避免再经过ECS 。
  2. CDN 和 OSS 本身提供的下行带宽非常的高( OSS 限制 5Gbps ,而 CDN 不限制)。因此 ECS 仅需要保证动态数据所占用的带宽资源即可(一般动态资源占用的下行带宽相比于静态资源较少),可以节省ECS 的带宽规格,节约成本。
  3. 同一数据中心的 ECS 和 OSS 之间是可以直接通过阿里云的内网进行数据交互的,因此可以保证 ECS 和 OSS 的网络质量。
  4. CDN 提供了靠近客户端的节点缓存静态资源,因此在访问静态资源时会优先在 CDN 节点中获取以减少网络传输距离。保证了静态资源的服务质量。同时 CDN 本身提供全球节点加速,可以一定程度的缓解运营商的国际链路对访问带来的影响。

2. 常见问题及解决方案

CDN 加速 OSS 的配置方法可以参考通过 CDN 加速 OSS Bucket,但是经常有用户配置完成后发现使用异常的情况,大致可以分为以下三类。接下来我们详细描述:

解析未生效。

问题1:域名解析异常。
在 CDN 加速 OSS 的场景中当 CDN 和 OSS 都配置完成后将分别得到 CNAME 域名, CDN 本身有加速域名对应的 CNAME 域名,而OSS 有本身的域名。这里生效时需要用户设置该域名的 CNAME 解析到 CDN 的 CNAME 域名上方可生效。例如图 2 中即是 CDN 加速域名及其对应的 CNAME 域名,用户在配置完成 DNS 解析后可以通过图 3 的方式验证测试。
         原文链接                           

原创粉丝点击