1.2.1 CDN——从缓存到内容分发
边缘计算的前身是CDN,也就是Content Delivery Network,即内容分发网络(如图1-6所示)。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
图1-6 CDN——内容分发网络
CDN的出现可以追溯到二十多年前。1995年,万维网之父Tim Berners-Lee在麻省理工学院(MIT)提出挑战。这位Web之父预测到互联网用户即将遭遇网络拥塞现象,因此向MIT的诸位同僚提出挑战,请大家发明一种更好的新方法来传送互联网内容。他可能没有预测到的是,在学术环境下提出的问题最终竟会导致使互联网发生根本变革的商业服务的产生。
这一挑战激起了MIT应用数学教授Tom Leighton的兴趣,Leighton博士是并行算法和建筑学方面的著名专家,他曾担任MIT计算机科学实验室算法团队的领导。Leighton博士意识到,或许可以从应用数学和算法中找到网络拥塞的解决方案,因此他组建了一个研究人员团队来解决此问题。
从以色列理工学院(Technion)获得计算机科学和数学学士学位后,Danny Lewin于1996年秋来到MIT并与Leighton博士一起共事。此后不久,Lewin很快在改善互联网性能的各种技术上取得重要进展。通过与团队合作,Leighton和Lewin研发了能够在大型分布式服务器网络上智能传送和复制内容的数学算法,并在此基础之上发展出CDN技术,最终解决了互联网用户即将面临的恼人问题。
CDN技术的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的、工作正常的缓存服务器上,由缓存服务器直接响应用户请求。
1997年,Leighton和Lewin开始探索CDN技术的商业用途。同年9月,他们和Preetish Nijhawan(MIT Sloan学院的学生)参加了MIT备受瞩目的5万美元年度创业大赛。在为期9个月的竞赛期间,他们的团队迅速壮大,他们以CDN技术为核心的商业计划在100个参赛团队中入围6强。这一卓越成果预示着CDN技术具有很大的市场潜力。1998年8月20日,Leighton和Lewin成立了Akamai公司,Jonathan Seelig(Sloan学院的学生)和Randall Kaplan也加入了该公司,共同组建了创始团队。Akamai从MIT获得了某些知识产权的独家许可,而后于1998年秋开始了CDN商用的开发工作。Akamai公司的早期员工都是在MIT参与过CDN商用项目的学生。Akamai的第一个大客户是雅虎,目前Akamai是全球最大的CDN服务提供商。这就是CDN最初的故事。
CDN有哪些好处?
采用CDN技术最大的好处就是加速了网站的访问——用户与内容之间的物理距离缩短,用户的等待时间也得以缩短。而且,分发至不同线路的缓存服务器也让跨运营商之间的访问得以加速。例如中国移动手机用户访问中国电信网络的内容源,可以通过在中国移动架设的CDN服务器进行加速,加速效果非常明显。此外,CDN还有安全方面的好处。内容进行分发后,源服务器的IP被隐藏,其受到攻击的概率会大幅下降。而且,当某个服务器故障时,系统会调用临近的正常的服务器继续提供服务,避免对用户造成影响。正因为CDN的好处很多,所以,目前所有主流的互联网服务提供商都采用了CDN技术,所有的云服务提供商也都提供了CDN服务(价格也不算贵,按流量计费)。
CDN强调内容的备份和缓存,而边缘计算的基本思想则是功能缓存(Function Cache),这实际上是借鉴了CDN的基本思想。所以CDN是边缘计算的最初的原型。