简介
CDN(Content Delivery Network)内容分发网络,提供静态图片、点播视频、视频直播、全站加速、移动加速、HTTPS加速、安全防护等多种业务分发功能的分布式平台。
目的
通过在Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,用户可以就近取得所需的内容,提高用户访问网站的响应速度。
工作流程
当用户访问已经加入CDN服务的网站时,首先通过DNS重定向技术确定最接近用户的最佳CDN节点,同时将用户的请求指向该节点。当用户的请求到达指定节点时,CDN的服务器(节点上的高速缓存)负责将用户请求的内容提供给用户。如用户在自己的浏览器中输入要访问的网站的域名,浏览器向本地DNS请求对该域名的解析,本地DNS将请求发到网站的主DNS,主DNS根据一系列的策略确定当时最适当的CDN节点,并将解析的结果(IP地址)发给用户,用户向给定的CDN节点请求相应网站的内容(相当于找一个最近的缓存服务器)。
使用CDN之后,可以实现更快的资源分发,更稳定的服务体验,更好的应对突发流量的挑战。
加速策略
- Local Dns Ip 静态就近接入
- 动态RTT测量,最优接入
- 缓存
动态加速虽然也是和边缘节点通信,但是因为访问的是动态内容,CDN边缘节点是没有办法进行缓存的。例如获取已买到宝贝列表的url都是同一个,但是每个人都返回的是自己已经买到的商品,每次都必须到源站去取。这样的话不是多此一举吗?为什么还需要使用CDN呢?原因在于好的CDN会有非常好的调度算法,能够在底层进行路由的选择,找到从A点到B点更近的一条路,甚至CND节点间有链接池,很早就已经建连。另外由于连接的建立是在离用户很近的CDN节点建立的,所以一般建连的时间也更短。