一、概念

1、什么是CDN?

CDN的全拼是(Content Delivery Network)。即内容分发网络。其基本思想是尽可能避开互联网上有可能影响传输数据速度和稳定性瓶颈的环节,使内容传输的更快、更稳定。通过在网络各处防止节点server所构成的在现有的互联网基础之上的一层仅仅能虚拟网络,CDN系统可以实时地依据网络流量和各个节点的连接、负载情况以及到用户的距离和响应时间等综合信息将用户的请求又一次导向离用户近期的server节点上。

其目的是使得用户就近取得所需内容,解决Internet网络拥挤的情况,提高用户訪问站点的响应速度。

二、何时用?

什么时候使用CDN呢? 当我们的网站含有大量的图片或者静态页面网站,为了提高用户訪问速度。提高网站的稳定性,我们能够选择使用CDN。

CDN和我们的关系?

我们来看下图。

依据上图的步骤,解析例如以下:

        ①“上传文件”:这里的“上传文件”实际上我们没有把我们server中的资源上传到CDNserver上,而是我们给CDN一个我们server资源的地址给CDN。CDN会依据我们给他的这个地址找到我们server上的资源(DI DependencyInjection依赖注入)

        ②CDN的上传中心会找到我们server中的资源,他自己会分发到不同他自己不同地点的server,比方上海、深圳、天津等地点所以上图中的ServerFarm是在不同的地址,至于CDN怎样分发的我们就不须要关心了。

这就相当于京东的分发点一样,京东的次日达的实现,是由于在不同的城市自己的商品销售点,这样相当于是同城发货,速度非常快,我们的CDN和这原理是一样的。

        ③当用户訪问我们的站点的时候,訪问同一个链接地址,对我们的地址进行訪问时,同一时候就会对我们的资源请求。

        ④我们就会请求到CDN,CDN的GLB进行推断是哪个地区的。上海的用户訪问时就会调用CDN分发到上海的资源,深圳的用户訪问时就会调用CDN分发到深圳的资源,CDN的GLB会依据自己的算法智能的找到离用户近期的资源。

        ⑤CDN把离着用户近期的路径传送给用户,这样不同的地区的用户訪问我们的站点就会看到同样的页面,但实际上页面上请求的资源来自不同的地区。

三、怎么用?

我们以XX系统和CDN交互为例。

为了实现每次和CDN交互都要去和CDN对接。所以抽象出把和CDN对接的部分抽象成为一个小系统。这样降低了和CDN对接的耦合性。同一时候添加MY_CDN的聚合性,就会降低MY_CDN的耦合性。

        本地系统和CDN怎样交互?

大体的步骤例如以下所看到的

(1)    XX系统传递给OnAir_CDN资源的实际地址和公布地址。

(2)    OnAir_CDN传递给CDN的一个实际地址和公布地址。

(3)    CDN依据OnAir_CDN的实际地址找到本地系统资源的位置。copy到自己的server上一份,再copy到不同地区的server一份。这样就实现了B地址和CDN分发资源的绑定。

(4)    CDN分发成功后会返回给OnAir_CDN结果,OnAir_CDN会把是否分发成功的结果发送给本地系统。

 

版权声明:本文博主原创文章。博客,未经同意不得转载。

熟知CDN的更多相关文章

  1. 2014年十个优秀的免费CDN加速服务-国内和国外免费CDN

    这是一篇总结近几年来网络上出现了各类免费CDN服务的文章,文章本来应该早就发出来的,但是因为近期的各种原因一直拖到现在.之前部落已经总结了近几年来的优秀免费空间,新手朋友不必在茫茫“网”海中寻找免费空 ...

  2. 看上去很美 国内CDN现状与美国对比

    CDN的理想与现实 多年以前,当<Kingdom of Heaven>这部史诗电影发行的时候,中国的影迷使用电驴和BT来寻找种子,而那个时候,高清也才刚刚进入电影领域,我的同事不惜用自家的 ...

  3. 【CDN】- 什么是CDN

    高冷科普: CDN,Content Delivery Network缩写,即内容分发网络.通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量 ...

  4. 百度MIP移动页面加速——不只是CDN

    MIP是用CDN做加速的么?准确答案是:是,但不只是. MIP全称Mobile Instant Pages,移动网页加速器,是百度提出的页面加速解决方案.MIP从前端渲染和页面网络传输两方面进行优化, ...

  5. 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践

    提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...

  6. 阿里云系列——6.给你的域名使用CDN加速(详细步骤+简单配置)

    网站部署之~阿里云系列汇总 http://www.cnblogs.com/dunitian/p/4958462.html 进入管理页面:https://home.console.aliyun.com/ ...

  7. Signalr系列之虚拟目录详解与应用中的CDN加速实战

    目录 对SignalR不了解的人可以直接移步下面的目录 SignalR系列目录 前言 前段时间一直有人问我 在用SignalR 2.0开发客服系统[系列1:实现群发通讯]这篇文章中的"/Si ...

  8. CDN模式介绍

    body{ font: 16px/1.5em 微软雅黑,arial,verdana,helvetica,sans-serif; }        CDN(content delivery networ ...

  9. 前端CDN公共库

    通过使用公共的CDN脚本和样式库,可以在一定程度上加速访问.节省服务器流量.提升你的网站用户体验.本文将介绍国内比较常用的几种免费的CDN库,包括百度.新浪.360.又拍和七牛等. 百度CDN公共库 ...

随机推荐

  1. csdn肿么了,这两天写的博文都是待审核

    昨天早上8点写了一篇博文,然后点击发表,结果系统显示"待审核".于是仅仅好qq联系csdn的客服,等到9点时候,csdn的客服上线了,然后回复说是链接达到5个以上须要审核,于是回到 ...

  2. undefined reference to `sin&#39;问题解决

    作者:zhanhailiang 日期:2014-10-25 使用gcc编译例如以下代码时报"undefined reference to `sin'": #include < ...

  3. Codeforces Round #272 (Div. 1)C(字符串DP)

    C. Dreamoon and Strings time limit per test 1 second memory limit per test 256 megabytes input stand ...

  4. 自顶向下分析Binder【1】—— Binder实例篇

    欢迎转载,转载请注明:http://blog.csdn.net/zhgxhuaa 一个Binder实例 我们Binder的学习将从以下的一个实例開始.依据Android文档中的描写叙述,创建一个Bin ...

  5. 提领NULL指针

    通常之中导致程序崩溃的最重要的原因是试图取消引用NULL指针.正如在以前的文章中指出,智能指针RefCountPtr和ScopedPtr它提供了一个诊断的执行时间. 但,并不是所有的指针是所有的对象都 ...

  6. hdu3732(多重背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3732 题意:Ahui学习英语单词,每个单词都是不同的,并且都有自身的价值量 w 和难度值 c (0&l ...

  7. hdu1881(贪心+dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1881 分析:按照结束时间从小到大排序,然后以每个结束点为容量进行01背包,选入的必定符合条件的. 因为 ...

  8. 【译】ASP.NET MVC 5 教程 - 6:通过控制器访问模型的数据

    原文:[译]ASP.NET MVC 5 教程 - 6:通过控制器访问模型的数据 在本节中,你将新建一个MoviesController 类,并编写获取电影数据的代码,使用视图模板将数据展示在浏览器中. ...

  9. C++ Primer 学习笔记_98_特殊的工具和技术 --优化内存分配

    特殊的工具和技术 --优化内存分配 引言: C++的内存分配是一种类型化操作:new为特定类型分配内存,并在新分配的内存中构造该类型的一个对象.new表达式自己主动执行合适的构造函数来初始化每一个动态 ...

  10. SWT中一些细节的说明

    1.shell.pack();函数的效果是将程序打包,使其以合适的大小显示出来,不会太大有很多多余空间,也不会太小导致有些控件无法显示. 2. while(!shell.isDisposed()){ ...