CDN 的理解杂谈

今天来闲谈 CDN ,首先我们得先知道 CDN 是什么

CDN (Content Delivery Network):中文名是 内容分发网络

内容分发网络 是 一个经策略性部署得整体系统。主要包含四个部分分布式存储负载均衡网络请求重定向内容管理

核心就在于 内容管理全局的网络流量管理。内容服务部署在缓存服务器上(代理缓存),位于网络的边缘。

话不多说,献上 CDN 原理图:

CDN 的理解杂谈_第1张图片
这是我手绘的,代理服务器没有缓存用户要访问的信息时,整个数据的流向。

用大白话来说就是:

用户用浏览器访问一个域名(例如 lxn.xyz),然后浏览器就会调用域名解析函数库,来解析域名,在没有部署 CDN 的情况下,域名解析出来的是 域名对应的 IP 地址,但是部署 CDN ,会对域名解析过程做出一些改动,域名解析出来的不是对应的 IP 地址,而是对应的 CNAME(可以理解为对域名设置的一个别名),然后浏览器通过全局负载均衡DNS解析CNAME,按地理位置解析离用户最近的代理服务器IP,得到代理服务器的IP后,发起请求代理服务器接收到请求后,会判断客户的请求本地是否有缓存,如果有,直接抛给客户端,如果没有根据本地DNS解析出客户要访问的域名所对应的后端服务器IP并发起请求后端服务器将数据抛给代理服务器,代理服务器将数据保存于本地,再抛给用户

如果代理服务器有缓存:

CDN 的理解杂谈_第2张图片

  • 这样就能大幅度提高用户浏览网站速度,提升用户体验!
  • 不仅如此,部署 CDN 还能极大的减少后端服务器的压力

CDN 对于用户体验而言,最主要的还是解决了由于网络带宽小、用户访问量大、网点分布不均而产生的用户访问网站响应速度慢的根本原因。

你可能感兴趣的:(Linux)