这是一个缓存为王的互联网世界

缓存为王
互联网从引入国内开始到现在,一眨眼已经30余年的时间了。这期间互联网的内容形态已经有万千变化。
从最开始的 hao123,yahoo, souhu 等静态新闻类网站,到现在图片、视频、直播、游戏等内容和形式富文本交互式的内容生态,已然百花齐放,即内容从静态为主,转向动态为主。
优秀产品全球化,光纤入户,手机游戏对战等等,这些10年前起来还是奢望的技术,现在已经普及众生。即产品全球化,传输速率和质量受到新挑战。
以淘宝为例,为了能承载中国近14亿人,淘宝可谓淋漓尽致的发挥CDN的功用:
而这已经是几年的数据。

淘宝CDN应用
与此同行,超大流量即对电信、联通等运营商骨干网提出了新的要求,如何将产品第一时间送达终端用户,各家想尽了办法,CDN功不可没。

用户访问流程
CDN在这些领域时至今日,依然有着不可撼动的地位。这一些都缘由用户对于网速的追求,有数据表示:
响应时间 | 用户感觉 |
|---|---|
0-1s | 很快 |
1-2s | 一点点慢 |
2-4s | 机器在工作 |
4-6s | 先开点别的吧 |
>6s | 网站坏了吧 |
CDN对我们生活有如此大影响,作为IT,了解其工作原理还有很有必要的。我们会从如下三方面着手了解。
Content Distribute Network:内容分发网络,又名Content Delivery Network(内容交付网络),旨在解决第一公里的带宽问题。
服务成功率、建连时间、时延、视听播放卡顿度、图像清晰度的好坏决定互联网应用的生死。
CDN的用户终端访问数据走向用户 -> 互联网 -> 服务商CDN的用户终端访问数据走向用户 -> 互联网 -> CDN 或 服务商
CDN工作原理
CDN的最终目标是尽可能将数据放离用户尽可能近的地方。 了解CDN的工作原理有助于理解其如何实现该想法:
凡对互联网有一定基础,理解起来都不是难事,但事实上,CDN的资源调度和实施还是存在一定实现复杂度。看了CDN逻辑框架及相关服务接口,会有所体会。

CDN逻辑框架及相关服务接口
静态内容是早期 CDN 主要承载的内容,以文字、图片、动画等内容为主。随着互联网不断演化,近年来,流媒体、视频、SSL认证、HTTPS加速等也已经成为CDN的业务范畴。
不同内容的加速方式也有差别:

流媒体CDN与web
应用技术也多种多样,主要还是以开源技术为主:
DNS调度和基于应用层重定向两种方式CDN管理系统主动发起。将内容从源站或中心内容库主动分发至边缘节点。主要协议有HTTP,FTP等。CDN节点向中心节点或源站发起内容请求的过程。CDN的关键技术我们主要关注:
针对不同业务需要有唯一ID标识。在CDN总体架构设计之初就需考虑到. 有如下两种思路:
CDN之前按规律统一编码如果出现重复ID,CDN会把错误的内容发给用户
DNS只解析IP地址,而智能DNS系统会判断用户源IP地址,分配最优最近资源的IP地址给用户。CDN友商,由友商根据自己的资源情况完成用户的最优资源调度DNS智能解析,更精准、更精细、更了解用户。但也HTTP重定向需多一步解析,链路长,GLSB可能会成为瓶颈,核心设备承压大等问题对于友商蹭流量的行为给予严厉谴责,技术上严厉打击,常用打击方式:
互联网不断成熟的过程,对行业也做了精细化分工。绝大多数应用均分为前后端,其中前端最接近用户。作为接近用户的第一层,FEO的优化显得尤为重要。
动态内容CDN不会缓存,但请求如果还到CDN再回源,会有传输延迟和数据传输失败的问题。
动态加速技术解决方案:
加速技术主要有:
利用CDN的站点多的优势,帮助终端用户利用CDN链接,找到触达源站的最优路径。
控制平面和数据转发平面分离,不再耦合在一起。优势:
借用终端用户宽带,效果待估量。用户隐私泄密,安全隐患,带宽被占满,消耗较多,用户感知较大会刻意关闭软件会失效等问题,都被一一验证。