• CDN是什么?


    用一个比喻解释什么是CDN?
    话说从前有一个大仓库(源站服务器)存放着很多好吃的(数据)如薯片、巧克力、话梅等等(音频、视频、文件等) 仓库下属会有很多网店超市(代理缓存的各个节点)大仓库的东西会下放到各个超市存储(缓存)、售卖(调度) 你(用户)在北京,想吃话梅(数据)那么就会就近北京的店(节点)将话梅发给你(用户请求数据) 而这个过程就是CDN的运行过程,相信吃货一定看得懂!!
    大致的运作原理和京东的物流模式是相像的。
     

    1.2  CDN的基本工作过程

    使用CDN会极大地简化网站的系统维护工作量,网站维护人员只需将网站内容注入CDN的系统,通过CDN部署在各个物理位置的服务器进行全网分发,就可以实现跨运营商、跨地域的用户覆盖。由于CDN将内容推送到网络边缘,大量的用户访问被分散在网络边缘,不再构成网站出口、互联互通点的资源挤占,也不再需要跨越长距离IP路由了。

    CDN是如何工作的呢?让我们先看看没有CDN服务时,一个网站是如何向用户提供服务的。

    用户通过浏览器等方式访问网站的过程如图1-2所示。

     
    图1-2  互联网用户服务访问流程

    ①用户在自己的浏览器中输入要访问的网站域名。

    ②浏览器向本地DNS服务器请求对该域名的解析。

    ③本地DNS服务器中如果缓存有这个域名的解析结果,则直接响应用户的解析请求。

    ④本地DNS服务器中如果没有关于这个域名的解析结果的缓存,则以递归方式向整个DNS系统请求解析,获得应答后将结果反馈给浏览器。

    ⑤浏览器得到域名解析结果,就是该域名相应的服务设备的IP地址。

    ⑥浏览器向服务器请求内容。

    ⑦服务器将用户请求内容传送给浏览器。

    在网站和用户之间加入CDN以后,用户不会有任何与原来不同的感觉。最简单的CDN网络有一个DNS服务器和几台缓存服务器就可以运行了。一个典型的CDN用户访问调度流程如图1-3所示。

     
    图1-3  引入CDN后的典型用户访问流程

    ①当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。

    ②CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户。

    ③用户向CDN的全局负载均衡设备发起内容URL访问请求。

    ④CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。

    ⑤区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务,选择的依据包括:根据用户IP地址,判断哪一台服务器距用户最近;根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址。

    ⑥全局负载均衡设备把服务器的IP地址返回给用户。

    ⑦用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。

    一个最简单的CDN架构包括DNS和缓存服务器,所以CDN适合放实时变化不大的资源,如html、js、视频等静态资源

  • 相关阅读:
    [LeetCode] 1218. Longest Arithmetic Subsequence of Given Difference 最长定差子序列
    [LeetCode] 1217. Minimum Cost to Move Chips to The Same Position 玩筹码
    [LeetCode] 1209. Remove All Adjacent Duplicates in String II 移除字符串中所有相邻的重复字符之二
    [.Net Core] Visual Studio for Mac Add Client Side Library
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
  • 原文地址:https://www.cnblogs.com/xiangkejin/p/9234693.html
Copyright © 2020-2023  润新知