CDN工作机制

Posted chen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CDN工作机制相关的知识,希望对你有一定的参考价值。

先简单了解一下电商和物流公司的仓储配送机制是怎样的,在电商刚开始发展的时候,买一件物品,商家发货只能从其所在点的工厂进行发货,因此一件商品送达一般3-10天不等。最后全国各地开始建立仓储中心,卖家的商品被放置在了各个仓储中心,因此发货点变成了离买家最近的仓储中心,一件商品的送达一般1-3天。而最近两年,前置仓开始兴起,什么是前置仓呢,即仓储中心建立在小区附近,使得一件商品的送达能在一天只能甚至于半个小时就能完成。

1.什么是CDN

content delivery network内容分发网络。随着互联网用户的增加,大量中小型网站的出现,出现了两个致命的问题

  1. 服务器不管是哪台服务器,包括云服务器,都会放在某一个具体的位置处,当全国各地访问当前服务器的时候,离当前服务器越远必然会出现访问速度慢的问题
  2. 服务器稳定性问题,当服务器出现某些问题的时候,可能出现宕机的情况产生,而情况的产生势必会导致网站在一段时间不能访问的情况

而CDN的出现在一定程度上解决了以上两个问题

2.CDN工作机制

CDN工作机制类似于之前所提到的电商和物流公司的仓储配送机制,当前浏览器要获取的内容通过最近的服务器得到,使得访问速度进一步提高。主要实现原理如下:

当浏览器输入域名的时候通过DNS服务器进行解析,通过返回的ip地址,去对应的服务器获取网页内容。而CDN就主要在DNS解析的过程中起作用的。 当给一个域名开通了CDN,要先给域名的DNS解析设置的后台添加一条CDN专用的解析记录(也即在name DNS Server处添加CDN专用解析记录),指向一个CDN网络专用的处理DNS请求的服务器,这个服务器会给浏览器返回一个专门用来给各个请求设备分配合适的CDN服务器的IP地址,而这个服务器叫做负载均衡系统服务器

浏览器访问负载均衡系统服务器时,其会根据浏览器的当前所处的网络地址在CDN网络中找一台在各种条件下都适合的服务器并返回其IP地址,比如:访问任务不多,距离合适的服务器。浏览器根据返回的ip地址访问CDN服务器并获取对应的网页内容。但是一般网络请求的服务器都是源服务器,那CDN服务器怎么会拥有源服务器的内容呢?

在为某个域名开通CDN的时候,会一开始会通过CDN后台进行设置,告诉CDN网络该域名的原始服务器。当CDN服务器收到浏览器请求之后,发现并没有网站所需资源(缓存中没有),则会CDN网络中的上层缓存服务器中去拉取,如果上一层还没有则继续上级查找,如果到顶层仍然找不到,就会去源服务器拉取网页资源,拉取成功之后,会在每一层经过的CDN服务器上都做一个缓存,最后该CDN服务器将网页资源返回给浏览器。

除了提高了访问速度以外,CDN还可以解决因为宕机造成的服务器瘫痪的问题,当一个服务器坏掉的时候,由于CDN 缓存机制,仍然可以从其他服务器获取资源,不会因为一台服务器的坏掉妨碍网站访问。

以上是关于CDN工作机制的主要内容,如果未能解决你的问题,请参考以下文章

图解 Google V8 # 05:函数表达式的底层工作机制

VS Code中自定义Emmet代码片段

cdn请求原理以及缓存机制

CDN 的缓存与回源机制解析

Java缓存学习之三:CDN缓存机制

CDN防DDoS攻击