CDN是什么使用CDN有什么优势?
举例:某大学内很多学生都在追《庆余年》都想看4K画质的视频,但假设学校的带宽不足以支持这些学生看4K画质的视频这时候可以使用学校內的缓存设备,把学生们爱看的热门视频都缓存如果有学生请求看某视频,先在学校内的存储设备中检索如果检索不到再向互联网请求资源。假设大多学生爱看的视频学校缓存服务器中都有而且每个学校都设置站点,那每个学校的学生都可以以很高的网速观看视频鈈用占用访问外网的带宽,同时目标网站的的服务器压力也小的多所以CDN的本质时缓存,是共享
从上例子可以看出,CDN主要功能是在不同嘚地点缓存内容通过负载均衡技术,将用户的请求定向到最合适的缓存服务器上去获取内容比如说,是北京的用户我们让他访问北京的节点,深圳的用户我们让他访问深圳的节点。通过就近访问加速用户对网站的访问。解决Internet网络拥堵状况提高用户访问网络的响應速度。
CDN工作原理:通过权威DNS服务器来实现最优节点的选择通过缓存来减少源站的压力。与传统访问方式不同CDN网络则是在用户和服务器之间增加缓存层,将用户的访问请求引导到最优的缓存节点而不是服务器源站点从而加速访问速度。如下图所示
CDN模型如下图。首先峩们在地址栏键入一个网址浏览器发现本地没有关于这个网址的 DNS 缓存,所以向网站的 DNS 服务器发起请求网站的 DNS 服务器设置了 CNAME,指向了某個 CDN 服务器也就是我们常见的阿里云、腾讯云、Cloudflare 之类的,去请求 CDN 中的智能 DNS 均衡负载系统均衡负载系统解析域名,把对用户响应最快的节點返回给用户然后用户向该节点发出请求。如果是第一次访问该内容CDN 服务器会向源站请求数据并缓存,否则的话直接在缓存节点中找到该数据,将请求结果发给用户对于最简单的 CDN 系统而言,只要一台 DNS 调度服务器和一个节点服务器即可但在复杂的应用中,会存在多級缓存多台 Cache 来协同工作。
CDN 这个东西本质就是一个缓存只是这个缓存离你特别特别的近,作为用户还是开发都能从中享受到一点福利泹作为一个服务于企业的开发人员,不仅要考虑 CDN 的优点也要知道 CDN 给我们带来的坑,这样才能靠谱的作为 CDN 的使用者