打车回家的时候,碰见一个热情的司机师傅,我们就扯东扯西的聊了起来。
师傅问道:“你是做什么工作的呀?做互联网的吗?”
“我们公司是做云服务的,主营业务是 CDN,安全防护……”
“CDN?CDN 是干嘛的?”
突然发现我很难简单、精准地向司机师傅解释清楚“CDN 是什么”这个概念,就萌生了写这篇文章的想法,让大家可以快速、全面的了解 CDN。
CDN 是什么?
通俗地说,CDN 就是扮演着护航者和加速者的角色,更快准狠的触发信息和触达每一个用户,带来更为极致的使用体验。再通俗点说 CDN 就像网络中的快递员小哥,把你的电影、网购、订单的数据“包裹”等等,从一个服务器快递到另一个服务器。另外,CDN 这个快递小哥很聪明,他承包了类似京东的前置仓一样的快递点,在发送快递时,小哥可以从离用户最近的前置仓取货、配送(缓存),同时,小哥还擅长优化快递配送的路径(调度),还会对包裹进行更合理的打包(协议优化)。
了解完 CDN 是怎么回事后,我们简单系统地再来介绍下 CDN。CDN 的全称是 Content Delivery Network ,即内容分发网络。互联网上的任何内容都可以通过CDN 加速。例如图像、样式表、JavaScript 文件、文件下载、直播和点播流媒体视频、整个网页、博客、游戏和应用程序等等。事实上,大部分互联网已经通过 CDN 传送,几乎包括日常看到的所有网站。毋庸置疑,任何连接到互联网的人都会与 CDN 进行交互,因为 CDN 不仅用于提供我们在计算机上消费的内容,还用于移动设备,智能电视,机顶盒和许多其他互联网——需要快速,可靠,安全地在线传输数据的连接设备。
![f21b32e52b9a2633f92bfc890c3a578e.gif](https://i-blog.csdnimg.cn/blog_migrate/d842844b37ff3b552bec1877d4d1d3d8.gif)
CDN 的原理和架构
![7a33fc363d1c8d61f6c96a8258d27936.png](https://i-blog.csdnimg.cn/blog_migrate/1565d8ce1cbf616ca8d8bd9acf3517ad.png)
CDN 网络一般分为中心与边缘节点两部分,中心负责全局负载均衡与内容管理。中心节点的功能如下:
- 随时监控边缘节点的健康状况(可用性,拥塞程度);
- 根据边缘节点到请求端的距离,以及边缘节点的健康状况,按一定的策略重定向请求;
- 与客户主站进行数据同步更新。
负责为用户提供内容服务的 cache 设备应部署在物理上的网络边缘位置,即 CDN 边缘层。CDN 系统中负责全局性管理和控制的设备组成中心层(二级缓存),中心层同时保存着最多的内容副本,当边缘层节点未命中时,会向中心层请求,如果在中心层仍未命中,则需要中心层向源站回源进行请求。
为什么要使用 CDN
在解释清楚了什么是 CDN 以后,我琢磨着司机师傅可能会接着问,那网站为什么要用 CDN 呢?
在节奏如此快速的时代,而你作为一个互联网各大产品的用户,一个产品能够在生存下来的原因,主要是这么几点:
- 内容有吸引力
- 访问速度快
- 支持频繁的用户互动
- 浏览顺畅无障碍
加速网站访问
网站/App 要生存下来,除了上述的几个点,还必须能在复杂的网络环境下运行,能够考虑到全球的用户访问体验。同时,网站会随着使用越来越多的对象(如图片、帧、CSS 及 JS)和形形色色的动作(分享、跟踪)而系统逐渐庞大,以致于系统变慢从而部分用户流失。
Google及其它网站的研究表明,一个网站每慢一秒钟,就会丢失许多访客,甚至这些访客永远不会再次光顾这些网站。可以想像,网站速度慢,用户体验差是多么致命的打击。这就是使用 CDN 的第一个也是最重要的原因:加速网站的访问,提升用户体验。
跨运营商,全网覆盖
为了实现跨运营商、跨地域的全网覆盖互联不互通、区域 ISP 地域局限、出口带宽受限制等种种因素都造成了网站的区域性无法访问。CDN 加速可以覆盖全球的线路,通过和运营商合作,部署IDC资源,在全国骨干节点商,合理部署CDN边缘分发存储节点,充分利用带宽资源,平衡源站流量。从而顺利实现跨运营商、跨地域的全网数据传输。
保障网站安全
以前,安全性并未与 CDN 相关联。但最近几年,安全性已经成为 CDN 行业中的一个机会领域和更多关注点,特别是随着物联网的大规模增长。CDN 提供冗余,有助于保护源服务器和内容。通过 CDN 的负载均衡和分布式存储技术,可以加强网站的可靠性,相当于无形中给网站添加了一把保护伞,可以缓解或防止常见的网络攻击,例如分布式拒绝服务(DDoS)攻击。像又拍云 CDN 还提供更多的 CC 防护、Referer 防盗链、WAF 保护等设置为网站保驾护航。
CDN 的下一站:边缘计算
在了解了 CDN 的基础后,我们来聊聊 CDN 的未来。如今的 CDN 网络拥有遍布各地、接近用户的庞大服务器集群,自然成为了优势明显的边缘计算资源。随着技术的不断更迭,CDN 有了更多的智能化元素,包括分布式和低延时计算。与此同时,CDN 发展推动下的计算机富余力联同物联网、5G 等背景因素,为边缘计算的发展滋养了土壤。
![3a70d7945df26c775feea7d469442fff.png](https://i-blog.csdnimg.cn/blog_migrate/e08932debc6b56abd11335f00146810e.png)
在 CDN 1.0 时代,CDN 以传输为主,从部署在互联网服务提供商(ISP)的边缘节点(POPs)传输网页内容。
2.0 时代,CDN 能对网络做一些简单处理,以缓存软件为核心,同时配套负载均衡、日志分析、DNS 等服务。
3.0 时代,CDN 开始具备智能调度特征,融合最新的网络技术,如 P2P 技术、清洗中心、高清技术,以及了 GSLB、VPN(虚拟专用网络)、WAAS(广域网加速业务)等。
下一代 CDN 将从以传输服务为主转变为倚重边缘计算,以计算能力替换传输能力,计算能力包括诸如终端能力适配和边缘转码等。经改造的 CDN 节点可升级为具备存储、计算、传输、安全功能云计算节点,形成处理高频、高交互的海量数据的能力。
根据 CB Insights (知名大数据调研机构)调研结果显示,到 2022 年,全球边缘计算市场估计将达到 6.72 亿美元。虽然是一个新兴技术,但在云计算运营的某些领域,边缘计算可能会更有效率。在 CDN 行业,利用边缘计算来提升自身竞争力都是不错的选择,边缘计算能够助力 CDN 更智能、高效和稳定。
推荐阅读:
我眼中的 Nginx(二):HTTP/2 dynamic table size updatetech.upyun.com 当 “HTTP” 先生遇上“S”小姐tech.upyun.com![3e1f39d45b4e34a87e7d9abee852fb75.png](https://i-blog.csdnimg.cn/blog_migrate/7186186f42fca7576fa16bb1996c2faf.jpeg)