2.7 对请求进行“动态加速”
区别于静态文件缓存技术 CDN,“动态加速”并非依赖缓存数据,而是利用“网络边缘服务器”优化 IP 路由和传输层实现网络加速。
目前,主流的技术服务商,如 Akamai、Fastly、Amazon CloudFront 和 Microsoft Azure 等在全球多个地区部署了数量庞大的边缘服务器,构建了一个庞大的全球性加速网络。
使用上述服务商提供的“动态加速”操作比较简单,一般将域名的解析记录 CNAME 到服务商提供的域名后,整个加速过程就能自动实现。操作流程大致如下:
- 源站(Origin)将域名 CNAME 到 CDN 服务商提供的域名,例如将 www.thebyte.com.cn CNAME 到 thebyte.akamai.com。
- 源站提供一个 20KB 左右的用于探测网络质量的文件资源。
- 服务商在源站周边选择一批候选的转发节点(Relay Node)。
- 转发节点对测试资源进行下载测试,多个转发节点多路探索后,根据丢包率、RTT、路由的 hops 数等,选择出一条客户端(End Users)到源站之间的最佳路径。
图 2-24 DSA 服务网络加速原理 图片来源
根据笔者的线上数据看,使用 Akamai 加速服务后,HTTPS 请求延迟降低了 30% 右,如表 2-4 所示。
表 2-4 网络直连与使用动态加速的效果对比
客户端 | 服务器 | 客户端直接访问服务端延迟 | 客户端使用 Akamai 加速后延迟 | 效果提升 |
---|---|---|---|---|
泰国,曼谷 | 香港 | 0.58s | 0.44s | 31% |
印尼,雅加达 | 香港 | 0.57s | 0.44s | 31% |
马来西亚,吉隆坡 | 香港 | 0.52s | 0.38 | 36% |
台北 | 香港 | 0.51s | 0.40s | 37% |
越南,河南 | 香港 | 0.54s | 0.41s | 30% |
新加坡 | 香港 | 0.58s | 0.39s | 48% |
香港 | 香港 | 0.38s | 0.24s | 58% |
日本,东京 | 香港 | 0.60s | 0.45s | 32% |
印尼,泗水 | 香港 | 0.67s | 0.52s | 29% |
菲律宾,马尼拉 | 香港 | 0.46s | 0.34s | 36% |
利用边缘服务器对请求加速,属于典型的“代理”技术。本书第四章将详细介绍代理技术的原理及应用,感兴趣的读者可参阅该章了解更多详情。
总字数:692字