不渴望能够一跃千里,只希望每天能够前进一步。

 

光阴易逝,岂容我待。

最近在研究一个中台项目。决定好好学习学习它里面用到的技术栈。

第一个:CDN技术

1、什么是CDN?

CDN的全称是Content Delivery Network,即内容分发网络。

2、CDN作用

将源站的内容分发到距离用户最近的节点(缓存服务器)上,使用户可以就近取得所需要的内容(包括静态资源如图片、html、css、js文件等等),提高用户访问的响应速度。解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。

3、一个最简单的CDN网络:(第三点图片及描述来自book.51cto.com/art/201205/338756.htm)

由一台DNS服务器和几台缓存服务器组成。

(1)、当用户点击URL,会在本地DNS系统解析,DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。

(2)、CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回给客户。

(3)、客户向请求全局负载均衡设备发起请求。

(4)、CDN全局负载均衡设备会根据用户的ip地址,用户请求的内容的URL,选择一台用户所属区域的区域负载均衡设备,向这台设备发起请求。

(5)、区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务,选择的依据:根据用户ip判断离用户最近的服务器;根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断那一台服务器尚有服务能力。基于以上条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的ip地址。

(6)、全局负载均衡设备把服务器的IP地址返回给用户。

(7)、用户向缓存服务器发起请求,缓存服务器响应,将用户所需内容传送到了用户终端。如果该缓存服务器上并没有用户想要的内容,而区域均衡设备依旧把它分给了用户,那么这台服务器就会向它的上一级缓存服务器请求内容,直至追溯导网站的源服务器将内容拉到本地。

cdn基础架构 cdn项目_cdn基础架构


4、CDN适用场景

(1)、网站站点/应用加速

站点或者应用中大量静态资源的加速分发。建议将站点内容进行动静分离,把静态资源放在OSS上。CDN与OSS结合使用。

(2)、视音频点播/大文件下载分发加速

支持各类文件的下载、分发,支持在线点播加速业务,如mp4、flv视频文件或者平均单个文件大小在20M以上,主要的业务场景是视音频点播、大文件下载(如安装包下载)等,建议搭配对象存储OSS使用,可提升回源速度,节约近2/3回源带宽成本。