这是一个缓存为王的互联网世界
缓存为王
互联网从引入国内开始到现在,一眨眼已经30余年的时间了。这期间互联网的内容形态已经有万千变化。
从最开始的 hao123,yahoo, souhu 等静态新闻类网站,到现在图片、视频、直播、游戏等内容和形式富文本交互式的内容生态,已然百花齐放,即内容从静态为主,转向动态为主。
优秀产品全球化,光纤入户,手机游戏对战等等,这些10年前起来还是奢望的技术,现在已经普及众生。即产品全球化,传输速率和质量受到新挑战。
以淘宝为例,为了能承载中国近14亿人,淘宝可谓淋漓尽致的发挥CDN
的功用:
而这已经是几年的数据。
淘宝CDN应用
与此同行,超大流量即对电信、联通等运营商骨干网提出了新的要求,如何将产品第一时间送达终端用户,各家想尽了办法,CDN
功不可没。
用户访问流程
CDN
在这些领域时至今日,依然有着不可撼动的地位。这一些都缘由用户对于网速的追求,有数据表示:
响应时间 | 用户感觉 |
---|---|
0-1s | 很快 |
1-2s | 一点点慢 |
2-4s | 机器在工作 |
4-6s | 先开点别的吧 |
>6s | 网站坏了吧 |
CDN
对我们生活有如此大影响,作为IT,了解其工作原理还有很有必要的。我们会从如下三方面着手了解。
C
ontent D
istribute N
etwork:内容分发网络,又名C
ontent D
elivery N
etwork(内容交付网络),旨在解决第一公里的带宽问题。
服务成功率、建连时间、时延、视听播放卡顿度、图像清晰度的好坏决定互联网应用的生死。
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
链接,找到触达源站的最优路径。
控制平面和数据转发平面分离,不再耦合在一起。优势:
借用终端用户宽带,效果待估量。用户隐私泄密,安全隐患,带宽被占满,消耗较多,用户感知较大会刻意关闭软件会失效等问题,都被一一验证。