快点!再快点!——CDN

如何理解 CDN 的

CDN: 中文名叫做「内容分发网络」,是将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。

访问原理

  • 首先我们在地址栏键入一个网址,浏览器发现本地没有关于这个网址的 DNS 缓存,所以向网站的 DNS 服务器发起请求。

  • 网站的 DNS 服务器设置了 CNAME,指向了某个 CDN 服务器,也就是我们常见的阿里云、腾讯云、Cloudflare 之类的,去请求 CDN 中的智能 DNS 均衡负载系统。

  • 均衡负载系统解析域名,把对用户响应最快的节点返回给用户,然后用户向该节点发出请求。

    • 根据用户IP地址,判断哪一个边缘节点距用户最近;

    • 根据用户所请求的URL中携带的内容名称,判断哪一个边缘节点上有用户所需内容

  • 如果是第一次访问该内容,CDN 服务器会向源站请求数据并缓存,否则的话,直接在缓存节点中找到该数据,将请求结果发给用户。

  • 对于最简单的 CDN 系统而言,只要一台 DNS 调度服务器和一个节点服务器即可,但在复杂的应用中,会存在多级缓存,多台 Cache 来协同工作。

Ms7AHO.png

CDN 这个东西本质就是一个缓存,只是这个缓存离你特别特别的近,作为用户还是开发都能从中享受到一点福利 CDN全局负载均衡设备与CDN区域负载均衡设备根据用户IP地址,将域名解析成相应节点中缓存服务器的IP地址,实现用户就近访问,从而提高服务端响应内容的速度

CDN 相关技术

CDN中最重要的四大技术不谋而合,那就是内容发布、内容存储、内容路由以及内容管理等。

内容分布

它借助于建立索引,缓存,流分裂,组播等技术,将内容发布或投递到距离用户最近的远程服务点(POP)处

内容存储

对于CDN系统而言,需要考虑两个方面的内容存储问题。一个是内容源的存储,一个是内容在Cache节点的存储。

内容路由

它是整体性网络负载均衡技术,通过内容路由器中的重定向(DNS)机制,在多个远程POP上均衡用户的请求,以使用户得到最近内容源的响应。

内容管理

它通过内部和外部监控系统,获取网络部件的状况信息,测量内容发布的端到端性能(如包丢失、延时、平均带宽、启动时间、帧速率等),保证网络处于最佳的运行状态

CDN 有什么好处

  • 访问加速

  • 减轻源站(服务器)负载

    • 一个非常简单就能想明白的问题,如果 CDN 已经能帮我返回数据了,那么请求就不会到达源站,源站(服务器)的负载就减轻了

  • 抗住攻击

    • 既然源站的负载被减轻了,那么在受到 DDOS 攻击的时候,也能谈笑风生

最后更新于