原文地址:https://blog.csdn.net/lu_embedded/article/details/80519898

618电商节、双十一购物狂欢节,到底是什么在支撑数以万计的秒杀活动?这就不得不提一直隐姓埋名的 CDN 了,注意不是 CSDN,而是 CDN,CDN,CDN!其全称是 Content Delivery Network,即内容分发网络。 
  那到底 CDN 是什么鬼,我们还得从西天取经说起……


  1300年前,唐僧师徒取经要跋涉十万八千里,历经九九八十一难,一路打怪升级,最终才能修成正果,悟空加冕“斗战胜佛”。 
  1300年后,西游互联网已经开通,雷音寺官网上线,取经只需打开网站,点击下载,凡夫俗子也可以轻易取得真经。

  初时,唐僧师徒觉得当年的辛苦付出颇为不值,慨叹世事变迁,法术高强敌不过科技进步。 
  然四大部洲善男信女众多,扎堆前往雷音寺官网下载经书,网站不堪重负,信徒叫苦不迭,神通广大的如来使出“Scacleup + Scaleout”心法,扩容雷音官网,仍不得其解,遂差遣悟空一查究竟。 
  悟空火眼金睛,半晌就把原因查了个一清二楚,原来信徒要想美美的访问雷音网,需要打败四个妖怪:

第一怪,首里魔

  “首里魔”又称“第一公里魔”,把持网站服务器接入西游互联网的路口带宽,这个带宽决定了能为信徒提供的访问速度和并发访问量。

第二怪,骨干精

  “骨干精”藏于西游互联网的长途传输要道,出没于IDC、骨干网、城域网、接入网等洞穴,使用“时延”和“拥塞”两个妖术作法。

第三怪,互联妖

  西游互联网覆盖四大部洲,各部洲的网络独立运营,“互联妖”善于挑拨离间,让洲与洲之间的互联带宽成为瓶颈。

第四怪,末里兽

  “末里兽”又称“最后一公里兽”,蹲守在上网信徒的家门口,把持用户访问西游互联网的通路,收取买路钱,钱少只能走羊肠小道。 
  悟空看罢大怒,原来是这些妖孽作怪! 
  于是拔下一根毫毛,使出“CDN”大法,变作几百只小猴子,一声令下,每猴背熟一些经文,纷纷潜入到各大部洲的 IDC 山洞中,就近为善男信女们提供讲经服务,这些小猴子被俗称为“cache猴”。

  小猴子们基于这样的规则干活:

A.当某个信徒需要阅读经书,大家就挑选能最快到达信徒家的猴子前去讲经(可能距离最近,也可能是路最好走); 
B.如果某部经书被很多信徒需要,它就会被距离这些信徒最近的小猴子烂熟于心。

  可是猴子很多又生性顽劣,管好还是很费神的,于是悟空叫来了师父和师弟们帮忙,师徒同心,其利断金。

  沙和尚任劳任怨,悟空让他承担“分发服务”:

  老沙的主要职责是将经书内容从雷音寺中心向各部洲的“cache猴”推送和存储,承担实际的佛经流量全网分发工作和面向最终信徒的阅读请求服务。

  猪八戒肠肥肚圆,悟空让他承担“负载均衡”:

  八戒负责对所有发起阅经请求的信徒进行访问调度,确定提供给信徒的最终实际访问地址,告诉信徒那个小猴子最适合他。

  唐三藏高瞻远瞩,悟空请他承担“运营管理”:

  唐僧负责对日常事务的监管、收支核算、团队状态的检查、分析,也承担与大客户–佛祖“疏通”关系等职责。 
  在师徒四人的通力合作下,四个妖怪被打败,如来佛祖的心病治愈了,天下苍生得以美美滴上网取经。 
  雷音寺赚得盆满钵满,不断推出新的服务,原来只有经书下载,现在可以在线浏览经书,还可以视频直播,观看佛祖在线讲经。 
  于是唐僧师徒的 CDN 服务从原来只提供文件传输加速服务,到后来增加为流媒体加速服务、网页浏览加速服务等等。 
  从此,天下再没有难取的经,悟空得到佛祖嘉奖,从“斗战胜佛”升级为“斗站胜佛”!

  好了,西游记的故事讲完了,小伙伴们也明白什么是 CDN 了。

什么是 CDN(超形象)的更多相关文章

  1. 转: 解决Github访问超慢问题

    转自:http://zengrong.net/post/2092.htm 解决Github访问超慢问题 Github is so slowly. 这段时间访问 github 都非常慢,google了一 ...

  2. 超强、超详细Redis数据库入门教程

    这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么2.redis的作者何许人也3.谁在使用red ...

  3. CDN缓存那些事

    CDN是什么? 谈到CDN的作用,可以用8年买火车票的经历来形象比喻: 8年前,还没有火车票代售点一说,12306.cn更是无从说起.那时候火车票还只能在火车站的售票大厅购买,而我所住的小县城并不通火 ...

  4. CDN学习笔记一(CDN是什么?)

    CDN是什么? 谈到CDN的作用,可以用8年买火车票的经历来形象比喻: 8年前,还没有火车票代售点一说,12306.cn更是无从说起.那时候火车票还只能在火车站的售票大厅购买,而我所住的小县城并不通火 ...

  5. 解决Github访问超慢问题[自己留档]

    解决Github访问超慢问题 Github is so slowly. 这段时间访问 github 都非常慢,google了一下发现是github某个CDN被伟大的墙屏蔽所致. 出问题的应该是这个CD ...

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

    CDN是什么? 关于CDN是什么,此前网友详细介绍过. CDN是Content Delivery Network的简称,即"内容分发网络"的意思.一般我们所说的CDN加速,一般是指 ...

  7. 网站优化与Cdn文件传输服务

    网站优化与Cdn文件传输服务 如今互联网无处不在,其方便快捷.性质和低成本的经济特点,已经逐渐成为商务贸易.信息分发和数据交付的一个重要渠道.要想让数据的分发带来巨大的效益,那么网民的满意是唯一的办法 ...

  8. 分布式还是混合式? 谈CDN架构对服务质量的影响

    传统分布式模型 通 常,内容分发网络(CDN)採用分布式模型.在这样的模型里, 用户的文件存放在一个源server上.而且由大量边缘server负责分发这些文件.这些边缘server的磁盘空间比較小. ...

  9. 开源来自百度商业前端数据可视化团队的超漂亮动态图表--ECharts

    开源来自百度商业前端数据可视化团队的超漂亮动态图表--ECharts 本人项目中最近有需要图表的地方,偶然发现一款超级漂亮的动态图标js图表控件,分享给大家,觉得好用的就看一下.更多更漂亮的演示大家可 ...

随机推荐

  1. suds

    Suds: 是一个轻量级的SOAP客户端 pip install suds 可以访问webservice 选择公网的Webservice,http://www.webxml.com.cn/webser ...

  2. P3719 [AHOI2017初中组]rexp——递归模拟

    P3719 [AHOI2017初中组]rexp 没有什么算法的题做起来真不适应,这道题深深讽刺了我想用栈维护匹配括号个数的想法: 递归解决就行了: 时刻注意函数返回值是什么,边界条件是什么: #inc ...

  3. CSS3字体大小rem属性用法

    PX为单位 在Web页面初期制作中,我们都是使用“px”来设置我们的文本,因为他比较精确和固定. 只要页面某元素设置了px字体大小,其子元素/子孙元素未设置字体大小或设置的字体大小css优先级没父元素 ...

  4. 6、httpd2.4 编译安装LAMP

    www.itjc8.com 新特性: MPM支持运营DSO机制(动态共享对象),以模块形式按需加载 支持event MPM 支持异步读写 支持每模块及每个目录分别使用各自的日志级别 每请求配置 增强版 ...

  5. Android中显式意图和隐式意图的区别

    1.显式意图 可以直接通过名称开启指定的目标组件: 通过构造方法Intent(Context packageContext,class<?>cls)来实现. button_1 = (But ...

  6. 小程序的基本原生js使用

    1.点击事件 <a data-current="{{setting.current}}" bindtap="clickcurrent" style=&qu ...

  7. 小程序中怎么引入wepy.js第三方toast组件

    1.先安装组件 npm install wepy-com-toast --save 2.引入wepy和toast import wepy from 'wepy' import Toast from ' ...

  8. 如何在Fluent使用非牛顿流体【转载】

    转载自:http://blog.sciencenet.cn/blog-267817-747504.html 1.非牛顿流体:剪应力与剪切应变率之间满足线性关系的流体称为牛顿流体,而把不满足线性关系的流 ...

  9. 关于hexo与github使用过程中的问题与笔记

    快速阅读 如何用github 和hexo 创建一个blog 1.github中要新建一个与用户名同一样的仓库, 如:homehe.github.io - 必须是io后缀.一个帐户 只能建立一个 2. ...

  10. mac 修改mysql root密码

    01-在系统偏好设置中停止mysql服务 或者使用指令 sudo /usr/local/mysql/support-files/mysql.server stop 02-输入指令: cd /usr/l ...