全站加速应用场景
加速组成原理
实际上全站加速与CDN的加速原理有些类似,传统的CDN加速是静态的加速,静态加速比较实用的一点就是我们基于的一个认识是网络的传输速度没有本地磁盘的传输速度快,或者说网络带来的吞吐没有本地磁盘那么大,所以传统的静态加速一般都是通过提高命中率来进行加速的。这样一来当用户的请求访问到CDN的边缘节点时,边缘节点对这个内容有缓存,那么就可以直接从本地缓存中发送给用户,这样用户的请求就直接发到了距离用户比较近的边缘节点,如此一来也可以解决跨网的问题。
但是动态加速可能会不有所不同,因为每一个请求都需要回到用户的原站,然后还需要将用户原站的内容再一次返回给用户,所以必需要经过整个链路。所以要通过传统的缓存方式是很难进行动态内容的加速的。所以在全站加速产品里面,动态内容加速的核心部分主要有两个部分,第一个部分就是智能的选路;第二个部分就是传输协议的优化离不开网络的探测以及数据模型的处理。其次还有选路算法,其中比较经典的算法是最短路径算法。一旦有了路径以后更好的传输协议在解决局部网络协议传输效率上有明显的提升。
常见的提高传输能力的方法有TCB优化的一些技术,其原理是如何使我们的窗口开始就能够开的比较大,或当出现拥塞的时候,我们如何根据一些by case场景使拥塞恢复的时间更短。比如跨海这样的长链路的情况下,那么一个TCP的建联与前面的RTT一定是一个建联的请求。也就是说,当一个小的请求缺少一个RTT也就相当于少了两三百个MIS,这在一个长链路的应用下其实是非常有效的,因为它能够极大地降低了首包的延迟。核心的技术就是传输的管道化,在CDN网络内部想要把传输的管道建好,就相当于把高速公路铺好,我们只需要把数据传入到管道即可。
CND产品功能与服务
产品
优化体验
图一是阿里巴巴内部监控系统里面一个体验优化的效果,是一个典型的使用隧道来解决国内国外访问时防火墙拦截的问题。如果用户原站在国内访问在国外,这时就会被国际防火墙拦截,所以我们内部会使用IP隧道的方式,开启隧道后,后面的查杀率就比较低了。图一中红线表示不使用CDN加速,蓝线是有熵的CDN提供的一个全站加速产品,橙色线是阿里提供的全站加速服务。
由图二可以看到,在全球加速范围内,我们的性能是比较稳定的,基本上没有出现太大的波动。