摘要: 伴随着近几年O2O的爆发,网络已经不仅是传统的展示企业品牌的渠道,而逐渐演变成为嫁接企业和用户之间服务和交流的桥梁,我们开始赋予网络更多的功能,比如购物、出行、学习、娱乐等等。 同时,网络内容形态的进阶发展,网页内容已经从静态的图片、文字向短视频、直播演变,网站和应用的内容变得越来越复杂。
伴随着近几年O2O的爆发,网络已经不仅是传统的展示企业品牌的渠道,而逐渐演变成为嫁接企业和用户之间服务和交流的桥梁,我们开始赋予网络更多的功能,比如购物、出行、学习、娱乐等等。
同时,网络内容形态的进阶发展,网页内容已经从静态的图片、文字向短视频、直播演变,网站和应用的内容变得越来越复杂。几乎所有的站点都由静态、动态两种页面组成,这就决定了交互内容更加复杂和丰富。这让很多网站的CDN内容分发加速效果不理想。
这是因为通常CDN对静态内容支持得较好,当面临动态内容请求的时候,一般会回源,源站再将内容传节点,进而传给用户,传输链路步骤增多,势必会影响速度。同时,也需要源站具备区分动静态资源的能力。为了优化动静混合站点和纯动态站点的加速效果,阿里云推出了全站加速方案,通过智能区分动静态请求,实现整站加速效果的全面提升。
如上图所示,全站加速在加速方式、支持资源类型和源站适配方面,都与CDN有所不同,下面我们就来看看全站加速的技术原理和产品架构是怎样的。
全站加速技术原理和架构
阿里云CDN拥有1300多个全球节点,90T的带宽能力储备。采用先进的分布式系统架构,和完全自主研发高性能缓存软件,提供基于域名的全量实时监控和基于服务质量的智能调度,实现稳定高效的性能指标,强有力的保证了全球范围内数十万网站的极速访问和用户流畅体验。
在此背景之下,阿里云在CDN平台之上,构建了全站加速方案,融合了动态加速和静态加速,突破以往的单项加速,通过简单的配置即可智能区分动静态请求,实现整站加速效果的提升。
(全站加速产品架构)
全站加速的工作原理与CDN的加速原理类似,也有所不同。传统CDN加速是静态加速,是因为我们基于的认识是网络传输速度没有本地磁盘传输速度快,所以传统静态加速是通过提高命中率来加速。当用户的请求访问到CDN边缘节点时,边缘节点对内容有缓存,就会直接从缓存读取内容返回给用户,读取的速度较快。而全站加速的工作原理分为以下几步:
第一步,区分动静态资源
通过简单的配置指定静态文件的类型、URI、请求方法、自定义http头等多种方式,灵活区分出动、静态内容。
第二步,动静态资源分别加速
通过简单的动静态资源配置规则,即可实现动态资源和静态资源的同时加速:
- 静态资源:通过高速缓存,从就近的CDN节点获取。
- 动态资源:通过智能选路、传输协议优化等核心技术快速回源获取。智能选路离不开网络质量的探测,实时的质量数据的模型的处理,还有最短路径等算法。一旦有了这个路径,更好的传输协议,可能是解决传输效能的关键一环,常见的方式有TCP优化,传输管道化等等。
那么该如何利用CDN全站加速能力,更好的支持实际业务场景,提升加速效果呢?为大家介绍几个典型的场景和解决方案。
场景一:电商网站复杂交互内容下的用户体验提升
电商平台包含众多线上系统和环节,如用户注册、登录、浏览商品、购物结算等,同时为了提升在线留存情况和用户购买力转化,电商平台也往往会设计丰富的交互内容和个性化的体验,网络访问速度及内容安全传输成为衡量消费体验的重要指标。然而这些复杂的动态内容会降低页面的加载速度,用户体验的流畅和新颖一时之间难以两全。
(电商网站加速流程图)
针对这种情况,全站加速支持动静分离,用户一旦接入全站加速,比如html、JPG等默认是静态文件,其他就是动态文件,采用完全不同的加速策略。对静态内容进行边缘缓存,从而解决公网传输速度缓慢的问题,提升整个网站资源加载速度。
在大型活动期间,电商网站流量会激增,面对突发流量可能会导致的页面延迟、交付失败、源站过载、宕机等情况,网站的稳定可用及源站负载均衡就尤为重要。全站加速产品有稳定均衡的特性,经过了内部外部的大量测试与策略调整。
- 第一,回源负载均衡
可以针对不同运营商的策略调整,提高网络的灵活性和可用性,再通过一系列的有序回源、QPS限速、多源主备等策略,降低源站压力和故障风险。
- 第二,智能选路
可以通过监测CDN网络链路质量并进行有向分析,及时发现与避免运营商之间的网络拥塞和异常,选择一条最优的路径。
- 第三,拥塞避免
拥塞有不同类型:网络上的拥塞、节点因为突发流量很大造成的拥塞等等,解决这些问题的核心的理念就是多径重试,在选路的时候,最优、次优、再次的路径选择若干条,实际传输的时候优先选择最优路径,当最优路径出现异常或问题的时候,选择次优的路再传。这样就能保证到回源的环节中,不会因为某一条路径造成用户访问的失败。
场景二:游戏场景下的实时通信高并发
游戏是动态内容实时通信高并发的典型业务场景,游戏官网、安全包下载、登录服务、游戏服务等各个环节的性能和稳定性。高峰时段玩家登录、交易、更新、运行更需要得到平滑支持。试想在一个赛季的关键阶段,几十万甚至百万用户同时在线PK,画面质量不佳、延迟、卡顿、掉线等问题都有可能导致用户的经济损失和直接流失,传统的通信协议无法满足平台性能要求。
全站加速针对游戏场景,进行了传输协议优化,有效控制拥塞,采用灵活的丢包探测重传策略,确保了动态内容的高并发。下图是第三方测试效果,红线是用户不使用阿里云加速的效果,蓝线是其他CDN加速的效果,橙线是阿里云全站加速的效果,得出结论我们的加速性能是比较稳定的,整个过程不会出现大幅波动。
场景三:金融类、政企类网站数据安全受威胁
国内网络环境复杂,网站被劫持、内容被篡改的情况时有发生,仅仅使用HTTP协议传输可能会有动态内容泄露的风险,网络的高可用性和高安全性是金融、政企、票务类网站的重要诉求,交易过程主要是动态交互类内容,跨网链接不够稳定会存在风险,需要全站加速保障每一笔交易。如今,大部分站点也都想要寻求更安全高效的网络链路和内容分发途径了。
全站加速和其他CDN技术和云产品融合,支持全链路HTTPS和HTTP/2,同时,访问控制继承了CDN本身的鉴权、防盗链的策略、IP访问的控制和黑白名单等功能。同时也融合了WAF功能进行防内容泄露与篡改的控制。
排队回源这一功能是为了解决当某种类型的业务,因为大量动态请求需要回源,源站的保护非常重要。当源站无法承受突发的流量的时候,我们会针对性的提供限流、排队的策略,来保护源站。比如说票务类的网站,这种场景是十分常见的。
除了以上动静混合站点和纯动态站点,在社交网站、视频互动、企业官网与ERP系统、在线教育等业务场景中,全站加速也可以提供优于传统CDN加速方案的加速效果,助力站点和应用在激烈的竞争中立于不败之地。
(社交网站加速流程图)
如何申请开通全站加速DCDN
目前全站加速DCDN服务已经在阿里云官网正式上线,点击了解详情
对应以下3个步骤,请按步骤接入:
1.开通全站加速服务
https://help.aliyun.com/document_detail/64926.html
2.添加加速域名
https://help.aliyun.com/document_detail/64927.html
3.配置CNAME,服务生效
https://help.aliyun.com/document_detail/64928.html
欢迎大家使用阿里云CDN全站加速服务!