2018云栖大会南京分会飞天技术汇专场,阿里巴巴高级技术专家魏晋带来题CDN全站加速助力企业云上升级的演讲。主要内容是结合实际客观案例详细解读全战加速产品如何对动静态业务进行的加速,结合安全WAF等其他运营产品,对如何构建适合大部分业务场景下的打包服务的问题进行详细的分析。
数十款阿里云产品限时折扣中,赶快点击这里,领券开始云上实践吧!
视频回顾请点击
以下是是精彩视频内容整理:
全站加速应用场景
全站加速主要包括一下几个场景:
•企业官网:由于各大官网都有各种类型的登陆页面,所以包括了动静态的资源。
•ERP系统WEB版:比如用户的一些表达类的查询,对每一个用户查询出来的结果会根据用户的请求不断的改变,所以其包含了很多动态的资源。
•票务网站:与ERP系统WEB版类似。
•API加速:现如今API加速在很多的APP应用中是很重要的一部分,所以API加速相对来说应用比较广泛。
•页游手游。
加速组成原理
实际上全站加速与CDN的加速原理有些类似,传统的CDN加速是静态的加速,静态加速比较实用的一点就是我们基于的一个认识是网络的传输速度没有本地磁盘的传输速度快,或者说网络带来的吞吐没有本地磁盘那么大,所以传统的静态加速一般都是通过提高命中率来进行加速的。这样一来当用户的请求访问到CDN的边缘节点时,边缘节点对这个内容有缓存,那么就可以直接从本地缓存中发送给用户,这样用户的请求就直接发到了距离用户比较近的边缘节点,如此一来也可以解决跨网的问题。
但是动态加速可能会不有所不同,因为每一个请求都需要回到用户的原站,然后还需要将用户原站的内容再一次返回给用户,所以必需要经过整个链路。所以要通过传统的缓存方式是很难进行动态内容的加速的。所以在全站加速产品里面,动态内容加速的核心部分主要有两个部分,第一个部分就是智能的选路;第二个部分就是传输协议的优化离不开网络的探测以及数据模型的处理。其次还有选路算法,其中比较经典的算法是最短路径算法。一旦有了路径以后更好的传输协议在解决局部网络协议传输效率上有明显的提升。
常见的提高传输能力的方法有TCB优化的一些技术,其原理是如何使我们的窗口开始就能够开的比较大,或当出现拥塞的时候,我们如何根据一些by case场景使拥塞恢复的时间更短。比如跨海这样的长链路的情况下,那么一个TCP的建联与前面的RTT一定是一个建联的请求。也就是说,当一个小的请求缺少一个RTT也就相当于少了两三百个MIS,这在一个长链路的应用下其实是非常有效的,因为它能够极大地降低了首包的延迟。核心的技术就是传输的管道化,在CDN网络内部想要把传输的管道建好,就相当于把高速公路铺好,我们只需要把数据传入到管道即可。
CND产品功能与服务
全站加速产品的功能与服务主要包括三个方面:
1)传输加速:这与传统的CDN加速是相同的,但这个产品里面有几个比较重要的特色,他要考虑动态内容又要考虑静态内容,所以一个便捷的动静分离的规则是存在于全站加速产品里面的。也就是说,用户一旦接入全站加速以后,比较典型的类似GPG、HTMR我们默认为是静态文件,其他的我们认为是动态文件,采用的完全是不同的加速策略。其中一些公用的加速策略包括压缩传输,在内部的时候能不能采用一些好的压缩算法。因为压缩的数据量越小,它的延迟就会更低。此外还包括一些内部的专线/隧道,这在解决跨海的链路的质量问题的是非常有效果的,因为防火墙的策略和国家的一些政策法规,其实CDN是构建在IDC内部或者是一些运营商的机房内部的。所以ABTN也就是阿里巴巴的骨干网,它在网络质量上是比普通的公网有保证的。
2)稳定均衡:这是产品的一个重要的特性,因为我们对用户做了大量的测试,不管是内部还是外部的用户,我们一直在不停的调整我们的策略。其中负载均衡策略有一些典型的案例,比如说有一些用户可能需要不同的运营商,其策略也是不同的,比如电信的用户要回电信的原站,再比如如果有两个原站A和B,用户开始登陆时到达的是A原站,那么如果希望A用户后学所有的交互信息都回A原站,因为原站内部的数据库之间没有做好,这时候就需要CDN来完成。
智能选路是动态CDN里面的一个核心技术,在CDN网络里面,怎样能够及时发现运营商之间的拥塞与网络上的异常,及时选择一条好的链路然后避免拥塞是很重的问题。拥塞避免有很多不同的方式,对于网络上的拥塞,服务器的方面的拥塞,由于结点突发的量比大,虽然网络较好的但是服务器的处理能力却不够了。解决这些问题的一个核心的想法就是多径重试,对于选路的时候会选择若干条最优的路或次优的路。然后在实际传输服务的时候会选择最优的,如果最优的出现异常的时候,会有其他的方式通过次优的路再传,这样能保证在回原的过程中不会因为某一条路径造成用户访问的失败。
3)安全防护:这部分主要是和其他的CDN技术和云产品合作的,其中包括HTTPS (2)。访问控制这部分主要是鉴权防断链的一些策略,IP访问的控制以及一些黑白名单的一些控制,这些都是继承了CDN本身的功能。排队回源在全站加速产品中是不受限制的。
产品
1)接入快捷
2)稳定可靠
3)智能加速
4)内容安全
在基础能力上全站加速与CDN现有的结点的覆盖规模是复用的,所以在全范围内大概有1200+个节点,其在海外也有近60到70个节点,基本上国内可以做到市级级别的覆盖,大中小城市、各运营商本地覆盖离用户更近。带宽储备大约有80T+,所以可以从容面对突发流量,为持续增长的业务保驾护航。单节点缓存容量也已经达到1P+,能够为用户提供更好的缓存命中率、更高速的缓存,有效地提升用户访问速度。
优化体验
图一是阿里巴巴内部监控系统里面一个体验优化的效果,是一个典型的使用隧道来解决国内国外访问时防火墙拦截的问题。如果用户原站在国内访问在国外,这时就会被国际防火墙拦截,所以我们内部会使用IP隧道的方式,开启隧道后,后面的查杀率就比较低了。图一中红线表示不使用CDN加速,蓝线是有熵的CDN提供的一个全站加速产品,橙色线是阿里提供的全站加速服务。
由图二可以看到,在全球加速范围内,我们的性能是比较稳定的,基本上没有出现太大的波动。
本文由云栖志愿小组毛鹤整理编辑