云时代——面向用户体验的CDN

CDN源于上世纪末,主要目的是解决用户的网络问题,通过把内容分存在全球各地,缩短用户查看对象的延迟,提高用户访问网站的响应速度与网站的可用性。但随着云计算的快速兴起,用户需求越来越多,不仅需要网络分发速度快,还需要计算资源、存储资源、数据分析能力,以及音视频编解码、转码需求、以及图片视频的鉴黄操作等,因此传统模式并不能完全满足现有的需求。当CDN和云结合在一起,就可实现从Content到Cloud的变革,就可以为用户包装出功能更丰富、性能更好,而且成本更低的产品。由此我们相信,云CDN将会占据更多的市场。用户需要CDN,而不止于CDN,本文主要分享阿里云CDN如何做好用户体验。

经过十年技术沉淀、资源积累,阿里云CDN目前服务客户数突破10万之多,国内处于领先地位。在基础设施方面,阿里云CDN拥有超过500个节点数,12Tb的储备量,400Gb大节点,全万兆网卡,骨干网全覆盖,还有BGP网络作为补充,行业内唯一一个使用SSD硬盘的CDN服务商,SSD的上下差距非常大,因此在I/O性能方面会比友商好得多;一周时间即可上线Tb的带宽资源,满足用户的突发带宽需求,全球覆盖6大洲、30多个国家,满足淘宝海外用户的访问需求。

决定用户体验的核心因素为:响应快,下载快,服务稳。下文会从三个维度依次介绍。

系统的整体架构

 系统整体架构图

整体框架主要有三个部分:一是调度系统,即自主研发的自动化调度系统;二是节点系统,分成面向用户接入的L1cache和作为二级缓存的L2cache,当内容缓存在L1cache,则L1可以返回,若L1cache没有,则L2cache返回,L2cache没有,则用户数据中心返回,但绝大部分的流量都不会返回到用户数据中心;三是管理中心,包括监控系统,内容管理,配置管理和计费系统。其中,与用户强相关的是节点系统,因为所有的请求都会通过节点系统响应;再一个是监控系统和调度系统,因为需要监控和调度来选择离用户最近的节点,让用户有更好的网络质量,并在系统出现问题时,能够更快的发现、诊断、做出切换及解决问题。

响应时间

首先就是响应时间,响应时间最关键的在于节点系统的响应快不快,整个节点系统的架构图如下:

图二 节点系统架构图

节点系统中,LVS做4层负载均衡,Tengine做7层负载均衡,Swift做缓存服务器。其中,LVS的创始人章文嵩博士就是淘宝CDN的创始人,对其非常了解;Tengine是由阿里云CDN团队维护的nginx开源分支,是中国用的最多的开源软件之一;Swift是由阿里云完全自主研发。所以,节点系统完全自主可控。重点介绍具有核心竞争力的Swift软件架构。

图三 Swift软件架构

Swift的软件架构,即PASS架构,有以下几个特点,并行、异步、可扩展、简单(Parallel, Asynchronous, Scalability, Simple),因为框架好,同时利用了各种高端技术,例如epoll、AIO,以及我们自行设计的三级缓存的替换算法,请求内部的多路复用等。经测试,Swift性能是开源软件的2.5倍。

 

 

图四 性能比较

以上是测试数据,针对实际用户访问的线上数据,统计了所有的用户请求,相同一台机器,Swift的QPS比开源软件高,性能比开源软件好,CPU和ioutil利用率比开源软件低,能够均衡使用CPU多核处理能力,高效合理地使用和控制内存,拥有最大化硬盘IOPS和吞吐。其中,用户访问响应时间,一个请求大概在2毫秒左右(包括回源),所以实际不到1毫秒,因此响应时间几乎完全无感知。

 

图五 Tengine毫秒级的响应时间

下载速度

其实,响应时间在业内区别仅为几毫秒,最大的区别在于下载。一个应用的下载速度由三件事情决定,一是应用特性,例如网页、视频、无线app,是否有多路复用技术,应用并发多少个连接下载等等。二是网络质量,比如内网环境带宽足够大,不丢包,延时小,下载速度一定快。跨运营商的网络,时延大,丢包率高,性能肯定差;三是TCP优化,TCP优化是在相同网络质量下,让用户的下载速度更快;

要提升网络质量,首先要知道当前的网络质量是怎么样的,传统的做法主要有三种,一个是客户端监控,一个是对local dns的主动探测,还有一个是节点间互探;但是这些监控方式普遍存在的问题是监测的覆盖面不够广导致数据的准确性和精度都不够,这直接会影响我们的决策准确性和实时性;阿里云CDN搭建的一套基于业务的实时的网络的质量监控系统,只要用户访问到节点,我们就可以知道每一个用户访问节点的网络质量,包括下载时间、下载速度、建连时间、丢包率和往返时延等等;据说所知,这应该是全球唯一一套能采集全量真实用户访问的网络质量的系统。

有了这份数据,我就可以知道,不同节点覆盖同一个地域的网络质量是怎么样的,在此基础上我们就可以知道,任何一个地区用哪些节点覆盖是最合适的,这样我们就可以实现最优的节点覆盖;另外,基于某个地域的网络质量和网络服务质量历史数据,我们就可以知道我们服务的当前情况怎么样,有没有网络抖动和异常, 我们内部称之为基于趋势的网络抖动发现机制;

因此,只要用户能够访问到我们的节点,相关的网络问题都可以被及时调整和发现;对于那些用户访问不可达的问题,我们有一套主动的网络探测系统,通过海量用户的访问和节点间的互探能够快速发现不可达的情况, 从而实现整个网络的质量优化的闭环。在网络质量相同情况下,TCP协议决定了下载速度,这是因为发送端的发送速度是和拥塞控制算法有关的,而下载速度和拥塞窗口紧密相关,所以在相同网络情况下,用户访问并不完全一样。

我们做TCP优化的思路主要是两条,第一:把协议自身的性能做到极致,尤其是在可靠传输机制这块;第二,我们称之为端到端的QoS,就是要根据不同应用的QoS要求为他定制针对性的拥塞控制算法,从而让服务质量更好:

•基于时间序的丢包发现机制 

•主动的丢包发现机制 

•自适应的初始窗口 

•更激进的拥塞避免算法 

•更小的连接超时时间  

TCP优化效果如图所示:

 

图六 TCP优化效果对比

阿里云CDN为每个域名定制相应算法,例如点播、直播、图片或大容量下载。每个应用都有自己的服务质量的标准,比如说视频业务,并不一定下载速度达到10,20,几百就是速度快,只要比码流速度快就可以了。以上是两张线上数据,左图淘宝图片,两台机器在相同网络下同时运行得到的数据,优化之后的评价时间能降到20%多;右图是去年客户端的数据,可以看到,蓝色方框内的时间点突然下降,因为做了TCP优化。

服务稳定 

稳定的服务背后,最重要的是快速的发现和定位问题,并做出及时的动作,保证服务不受到影响;

传统发现问题的方法是通过查看机器利用率、IO、CPU、磁盘等硬件判断系统是否正常工作、通过软件的相关指标判断软件是不是正常工作,通过抽样的探测发现服务是不是异常;但是这些手段都不能保证我们能够能够及时的发现问题,比如说一个域名的某个url访问正常,不等于所有url访问都是ok的;那么怎么才能判断我们的服务是正常的呢?实际上,服务质量是检验系统是否正常工作的唯一标准。现在阿里云CDN会采集所有用户的访问情况,包括每个用户下载文件所用时间,服务器响应时间,http code,回源时间等等信息;并实时的汇总成分钟粒度的数据,这样我们就可以的清楚了解每个节点、每个域名的服务质量,这样我们就可以清晰的知道服务有没有问题,

再通过自动化调度系统,从众多数据中快速发现并解决问题,这是调度系统的框架图如下:

 

图七 调度系统框架图

由此,可以保证快速感知、发现并且自动化处理问题,从而保证给用户稳定的服务。

下面为阿里云产品和高用户体验CDN整合在一起的方案,首先是视频,依赖于视频云的转码,编解码,鉴黄,存储能力等;还有网络上的高用户体验,包括软件定义专线、上传加速、TCP优化技术等,能够做到流畅的98%,码率比其他用户低30%,成本降低了30%,用户收看延时2秒,1秒时间打开并播放直播流。

 

 

图八 一站式视频云服务

接下来阿里云即将推出来的动态加速,基于软件定义专线、TCP协议栈优化、动态路由、私有协议等,网站加速比BGP网络好40%。还会推出移动解决方案:基于手机淘宝做了大量的网络的优化工作,包括SDK、多路复用、动态选路、速度探测、自动探测技术等。



本文根据阿里云CDN事业部专家刘泓昊(天澜)在5月17日举办的2016云栖大会·武汉峰会上《云时代——面向用户体验的CDN》演讲整理而成。

时间: 2024-11-01 19:23:30

云时代——面向用户体验的CDN的相关文章

云时代服务器端工程师必备 CDN 技能包

云时代,为了提升静态资源的加载速度,大伙都是拼了.这促使近些年国内 CDN 的使用逐步普及.而作为一家以图片分享社区为核心业务的公司,图片 CDN 的使用比较多,下面梳理下自己的一些经验.闭门造车,如有勘误,大家多多包涵. 主要包括了以下内容: CDN使用背景,图片的分布式存储 CDN 网络原理概述 批量添加.切换 CDN 的步骤和注意事项 CDN 访问故障分析 CDN使用背景,图片的分布式存储 因为下文中的CDN的使用都是基于我们当前的图片存储,为了下文介绍不是那么突兀.先描述下当前图片存储的

从世界知名律所Baker Donelson的真实案例 看云时代终端用户体验监测的价值

身为美国10大律师事务所之一的CIO,John Green先生一直感到肩上的担子并不轻松.随着律所数字化转型战略的不断推进,更多的应用走向云,John意识到能否为律师们提供最佳的应用体验,已变得比以往更加重要. "我们在技术方面投资了数百万美元,帮助我们分布在20个不同办公室的律师们保持网络互联.在未来一两年中,公司将有近 80% 的主要应用会迁移至云端.如果不能为律师们提供最佳的应用体验来开展业务,那就是失职."Baker Donelson律师事务所CIOJohn Green先生表示

王者回归! Adobe Creative Cloud 打造云时代的创意体验

Adobe回来了,并且带着涵盖了15款核心产品的Adobe Creative Cloud,结合现有的文档云和营销云(Marketing Cloud),实现了从内容的制作.管理.优化,以及货币化的企业数字化内容的全链路支持. 11月10日, Adobe宣布在中国大陆市场推出本地化的Adobe Creative Cloud(Adobe CC)创意应用软件,包括 Adobe Photoshop.Illustrator.Dreamweaver.InDesign.Lightroom.Premiere Pr

云时代,桌面云为酒店带来的IT新体验

本文讲的是云时代,桌面云为酒店带来的IT新体验,云时代,桌面云为酒店带来的IT新体验 最近,新闻报道了广州一家商务酒店,一夜间,被客户偷走了7间客房的电脑主机和显示屏,造成约一万元损失的事件. 确实,现在的酒店宾馆不只是解决住宿问题,还要解决娱乐.商务问题.在商务方面,从高层管理者到普通市场营销人员,都希望在客房里能办公;在娱乐方面,住客希望自由选取自己喜爱的电影/电视节目,希望在互联网上遨游,同时还希望旅行不影响了解股市动态,一旦发生动荡,可即时买进或卖出.为了迎合市场的需求,很多酒店都在房间

云时代的应用性能管理(APM)

我们都知道,当今的时代是一个新技术蓬勃发展的时代:大数据.云计算.移动互联网.物联网--作为应用服务开发者的我们,有了很多很好的选择:我们的传统的应用基础架构也开始向云端迁移:我们看一下,现在企业应用IT架构是什么样? 很典型,从用户一直到硬件,很立体的六个层面,从用户到CDN,到防护墙,防护墙内有一堆的服务器,跑的是你的代码,还有一堆的硬盘做数据存储,这是咱们传统企业的应用架构.到了云的时代,因为我要讲的是云时代的APM,架构就变成这样了,后端防火墙的一些东西都隐化了,到了云时代背后的一般都变

阿里云CDN6.0发布 重新定义CDN内涵

本文讲的是阿里云CDN6.0发布 重新定义CDN内涵[IT168 云计算]近日,阿里云PR一改往日规模会议的模式,落脚创业大街,在3W咖啡办起了CDN专项技术媒体分享会.从邀请函中明显看出,本场媒体沙龙的主题剑指传统CDN,"传统CDN会更好?"的疑问在本次技术分享中被揭晓. 传统CDN闷声挣大钱的时代已去 随着用户应用需求类型的改变,CDN作为网络的一部分,已经成为企业级市场追捧的焦点之一.因为通过CDN可以更多的把计算和存储推向边缘,实实在在的让用户感受到最真实的体验.所以,当云计

云服务商将占据 80% CDN 市场份额,传统CDN或将终结

如今的国内CDN行业,曾由网宿科技与蓝汛组成的"双寡头格局",出现了一道道裂痕. 虽然网宿科技2016年的表现十分亮丽,但从2017年第一季度业绩预告来看,净利润将同比将下滑0%-30%."2017年第一季度,国内CDN市场竞争激烈,市场价格明显下降,从而导致公司毛利率下降."网宿科技股价从去年7月的最高价76.5元,跌至4月11日的39元左右,股价几近腰斩. 而另一个"寡头"蓝汛,上月底其发布的截至2016财年第四季度财报显示,该季公司净利润为

赋能合作伙伴转型,安畅要在云时代重构IT新生态

聚合可以产生力量,将云生态链中扮演各方角色的企业连接起来,这是一个显而易见的乘法效应,彰显生态的价值.2016年5月18日,「安畅+合作伙伴大会」在一阵紧锣密鼓的准备之后登陆北京,百余家合作伙伴.明星客户.科技媒体芸集一堂,在众云鏖战的时代,坐而论"连接 · 赋能,重构IT新生态"之道.这熙熙攘攘.激烈辩论的背后,是中国云计算生态圈各种新物种发出的清脆拔节声. 中国的云计算分流派系,从以拥有得天独厚互联网基础资源优势的三大运营商,到以万国数据为代表资金实力雄厚的数据中心地产服务商,到以

2012,进入视频云时代

2012,进入视频云时代 据原上海广播电视台台长.东方传媒集团总裁黎瑞刚透露,SMG正在建设中国最大的广电"视频云",使全国广电在一个云平台上实现共同参与.共同赢利的合作.为SMG独家提供"视频云"技术服务的是一个具有国际客户服务背景的本土团队--视讯天下.视讯天下CEO庄振宏表示,得"视频云"者得天下.2012年视频云将成为互联网服务的第一热点,传统广电内容提供商和互联网视频提供商必须在云平台上一较高下. 艾瑞数据显示,2012年将有5.27亿