CDN是一个非常重要的性能优化,掌握好它对于提高自身水平和优化思想非常重要。
首先我们从一个简单的比喻入手
一群朋友在一起嗑瓜子的时候(刚刚在嗑瓜子就拿这个比喻好了),大家都会从一大袋瓜子中取着吃,但是这样很麻烦。所以我们会用手先抓一把拿在手中,这样就不用每次都去大袋子中取,我们就可以很方便先吃手上的那部分。
这样是不是对CDN有一些初步的了解,那我们回到概念上:
Content Delivery Network,即内容分发网络,通过各地部署的多套cache的静态镜像服务节点,通过空间来换取时间。用户向源站域名发起请求时,请求会被调度至最接近用户的服务节点,直接由服务节点直接快速响应,有效降低用户访问延迟,提升可用性。
画两张对比图:
![](https://i-blog.csdnimg.cn/blog_migrate/86505c1d27cc67aceb3dc7cfce713315.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4275aa282bacef11725cf8fcc3f5e2a1.png)
使用CDN访问: 用户发送请求->智能DNS的解析(根据IP判断地理位置、接入网类型、选择路由最短和负载最轻的服务器)->取得缓存服务器IP->把内容返回给用户(如果缓存中有)->向源站发起请求->将结果返回给用户->将结果存入缓存服务器
它的优势有哪些?
- 本地Cache加速,提高了企业站点(尤其h含有大量图片和静态页面站点)的访问速度
- 跨运营商的网络加速,保证不同网络的用户都得到良好的访问质量
- 远程访问用户根据DNS负载均衡技术智能自动选择Cache服务器
- 自动生成服务器的远程Mirror(镜像)cache服务器,远程用户访问时从cache服务器上读取数据,减少远程访问的带宽、分担网络流量、减轻原站点web服务器负载等功能
- 广泛分布的CDN节点加上节点之间的智能冗余机制,可以有效地预防黑客入侵。