最佳实践:使用阿里云 CDN 加速 OSS 访问
阿里云内容分发网络(Content Delivery Network,简称 CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。阿里云 CDN 分担源站压力,避免网络拥塞,确保在不同区域、不同场景下加速网站内容的分发,提高资源访问速度。阿里云 CDN 将源站资源缓存至阿里云遍布全球的加速节点上,当终端用户请求访问和获取该资源时,无需回源,系统自动调用离终端用户最近的 CDN 节点上已缓存的资源。
阿里云对象存储(Object Storage Service,简称 OSS)是阿里云提供的海量、安全、低成本、高可靠的云存储服务,其数据设计持久性不低于 99.9999999999%(12 个 9),服务可用性(或业务连续性)不低于 99.995%。企业客户通过阿里云提供的 API、SDK 接口或者 OSS 迁移工具轻松地将海量数据移入或移出阿里云 OSS,同时可选择标准存储(Standard)作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问存储(Infrequent Access)、归档存储(Archive)作为不经常访问数据的存储方式。
为什么要使用 CDN+OSS 架构?
传统网站架构下,动态资源和静态资源不分离,随着访问量的增长,性能会成为瓶颈,如下图所示:
用户直接访问 OSS 资源,访问速度会受到 OSS 的下行带宽以及 Bucket 地域的限制。如果通过 CDN 来访问 OSS 资源,带宽上限更高,并且可以将 OSS 的资源缓存至就近的 CDN 节点,通过 CDN 节点进行分发,访问速度更快,且费用更低。如果采用动静分离的网站架构,就能够解决海量用户访问的性能瓶颈问题,如下图所示:
该架构的要点如下:
将动态资源如 Web 程序、数据库等存放在云服务器 ECS 上。
将静态资源如图片、音视频、静态脚本等存放在对象存储 OSS 上。
将 OSS 作为 CDN 的源站,通过 CDN 加速分发,使用户通过 CDN 节点就近获得文件。
CDN+OSS 架构有什么优势?
降低了 Web 服务器负载——OSS 的资源缓存至就近的 CDN 节点,通过 CDN 节点进行分发,缩短了网络传输距离,加快了用户的调用速度。
支持海量存储——OSS 的存储空间弹性无限扩展,您无需考虑存储架构升级。
降低了存储费用和流量费用——使用该架构会产生 OSS 的存储费用、CDN 的下行流量费用,以及极少量的回源流量费用。
CDN+OSS 的应用场景
在线教育
播放流畅无卡顿:支撑高峰期海量并发,稳定高效的性能:95%+命中率,毫秒级响应时间
图片/视频处理:OSS 丰富的图片处理与媒体处理的能力,可以帮助客户降低开发成本。OSS 支持在线教育客户直接通过 RTMP 视频推流方式将视频流推到 OSS,无需额外的文件类型转换工具。
安全性:解决盗链危害,保障课程安全
成本优化:阿里云 CDN 回源 OSS 按照“回源流量”收费,较常规的下行流量费最高便宜 70%。
网站/APP/小程序
访问效率提升:CDN 通过全球 2800+节点及智能调度系统,让用户可以就近访问海量静态资源。
无缝迁移:提供无缝迁移工具让业务快速上云,从而免除了高昂的迁移成本和接入成本
丰富图片处理能力:OSS 提供图片裁剪、旋转、水印、视频截帧等,客户无需额外的开发成本。
成本降低:下行流量费用远低于享带宽费用,有效解决源站带宽压力
行业音视频
CDN 保证性能:95%+命中率,毫秒级响应时间,结合弹性伸缩服务,及时调整服务器带宽,应对突发访问流量
OSS 可靠性:强大的技术保障提供 11 个 9 的数据写入可靠性保障,与阿里云 CDN 和视频转码无缝结合
降本增效:下行流量费用远低于独享带宽费用,有效解决源站带宽压力
游戏/APP 下载
稳定高效:支持各类文件的下载、分发及在线点播加速业务(如 MP4、FLV 视频或者平均单个文件大小在 20M 以上文件),主要用于视音频点播、大文件下载时
成本降低:搭配 OSS 接入 CDN 加速,节约近 2/3 回源带宽成本
一键加速:针对存储在 OSS 上的游戏的动态业务加速,使用 OSS 传输加速功能,只需修改 OSS 域名,即可一键加速
如何进一步提升网站加速效率?
阿里云还推出全站加速 DCDN 产品,融合了动态加速和静态加速的 CDN 产品,可以一站式应对页面动静态资源混杂、跨运营商、网络不稳定、单线源站、突发流量、网络拥塞等一系列因素,优化和解决访问响应慢、丢包、服务不稳定等问题,从而提升整个网站应用的性能和用户体验。
全站加速的核心原理主要分了两大块,一个是节点层,一个是一个控制层,节点层可以类比在 SDWAN 中的数据面,而路由决策则是控制面,其中整个传输网络的建立是通过探测和路由计算来完成的。边缘节点则保证了用户最后一公里用可以最快速的接入,优化建联和握手的时间。
当请求进入网络中之后,边缘节点跟内部的整张大网、源站之间,通过探测去实时的发现整个网络当中最优的链路,基于这个探测数据结果,通过路由算法和基础数据的分析和决策,最终会在整个网络里面去高效迭代出最优的传输链路,当链路遭遇流量汇聚的情况,链路选择也会实现流量和质量等多重因素之下的平衡。
评论