CDN的全称是Content Delivery Network,即内容分发网络。
目的:
尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节(分布、带宽、服务器性能),使内容传输的更快、更稳定,提高用户访问网站的响应速度和成功率。
场景:
图片小文件、大文件下载、视音频点播、直播流媒体、全站加速、安全加速。
CDN服务模式
CDN是一个经策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理4个要件,而内容管理和全局的网络流量管理是CDN的核心所在。
通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。
CDN内容分发原理
-
用户向浏览器提供要访问的域名;
-
浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,使用的全局负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得用户能就近访问;
-
此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的IP地址以后,向缓存服务器发出访问请求;
-
缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;
-
缓存服务器从实际IP地址得得到内容以后,一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程;
-
客户端得到由缓存服务器返回的数据以后显示出来并完成整个浏览的数据请求过程。
回源是什么意思?
当 cdn 缓存服务器中没有符合客户端要求的资源的时候,缓存服务器会请求上一级缓存服务器,以此类推,直到获取到。最后如果还是没有,就会回到我们自己的服务器去获取资源。
那都有哪些时候会回源呢?没有资源,资源过期,访问的资源是不缓存资源等都会导致回源。