CDN工做原理

传统的网络访问形式为:segmentfault

传统的网络访问形式

由上图可见,用户访问未使用CDN缓存网站的过程为:浏览器

  1. 用户向浏览器提供要访问的域名;
  2. 浏览器调用域名解析函数库对域名进行解析,以获得此域名对应的IP地址;
  3. 浏览器使用所获得的IP地址,域名的服务主机发出数据访问请求;
  4. 浏览器根据域名主机返回的数据显示网页的内容。

经过以上四个步骤,浏览器完成从用户处接收用户要访问的域名到从域名服务主机处获取数据的整个过程。CDN网络是在用户和服务器之间增长Cache层,如何将用户的请求引导到Cache上得到源服务器的数据,主要是经过接管DNS实现,下面让咱们看看访问使用CDN缓存后的网站的过程:缓存

CDN工做原理

CDN客户使用CDN的方法:
对于CDN客户来讲,不须要改动网站架构,只须要修改本身的DNS解析,设置一个CNAME指向CDN服务商便可。原理在下面会解释服务器

经过上图,咱们能够了解到,使用了CDN缓存后的网站的访问过程变为:网络

  1. 用户向浏览器提供要访问的域名;
  2. 浏览器调用域名解析库对域名进行解析,因为CDN对域名解析过程进行了调整,因此解析函数库获得的是该域名对应的CNAME记录(因为如今已是使用了CDN服务,CNAME为CDN服务商域名),为了获得实际IP地址,浏览器须要再次对得到的CNAME域名进行解析以获得实际的IP地址;在此过程当中,使用的全局负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得用户能就近访问。(CDN服务来提供最近的机器)
  3. 这次解析获得CDN缓存服务器的IP地址,浏览器在获得实际的IP地址之后,向缓存服务器发出访问请求;
  4. 缓存服务器根据浏览器提供的要访问的域名,经过Cache内部专用DNS解析获得此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;
  5. 缓存服务器从实际IP地址得获得内容之后,一方面在本地进行保存,以备之后使用,二方面把获取的数据返回给客户端,完成数据服务过程;
  6. 客户端获得由缓存服务器返回的数据之后显示出来并完成整个浏览的数据请求过程。

概念解析:架构

CNAME(Canonical Name)指别名记录也被称为规范名字,CNAME能够理解为对域名设置别名。好比一个域名www.domain.com,设置一个CNAME指向它,因为www.domain.com与一个ip进行绑定,若是设置多个CNAME指向它,之后修改CNAME指向的服务器时,只须要修改一个www.domain.com对应的ip便可。详细能够参考dns一些名词解释,负载均衡

相关文章
相关标签/搜索