内容分发网络 (CDN) 是负责内容分发的 Internet 透明骨干网。无论我们是否知道,我们每个人每天都与 CDN 进行交互;在新闻网站上阅读文章、在线购物、观看 YouTube 视频或浏览社交媒体时。无论您做什么,或者您消费什么类型的内容,您都可能会发现传送到您的 PC 和移动浏览器的每个文本字符、每个图像像素和每个电影帧背后都有 CDN。要理解为什么 CDN 被如此广泛地使用,您首先需要认识到它们旨在解决的问题。称为延迟,这是从您请求加载网页到其内容实际出现在屏幕上的那一刻发生的令人讨厌的延迟。
该延迟间隔受多种因素的影响,其中许多因素特定于给定的网页。但是,在所有情况下,延迟持续时间都会受到您与该网站的托管服务器之间的物理距离的影响。CDN 的任务是实际上缩短物理距离,目标是提高站点呈现速度和性能。
CDN 是如何工作的?
为了最大程度地缩短访问者与您网站服务器之间的距离,CDN 将其内容的缓存版本存储在多个地理位置(也称为存在点或 PoP)。每个 PoP 都包含许多缓存服务器,负责向附近的访问者传送内容。
本质上,CDN 将您的内容同时放在许多地方,为您的用户提供卓越的覆盖。例如,当伦敦的某个人访问您在美国托管的网站时,这是通过当地的英国 PoP 完成的。这比让访问者的请求和您的响应穿越大西洋并返回要快得多。简而言之,这就是 CDN 的工作方式。当然,正如我们认为我们需要一个完整的指南来解释内容交付网络的内部运作一样,这个兔子洞变得更深了。
分秒必争
研究表明,延迟一秒钟会导致转化率下降 7%,页面浏览量下降 11%,客户满意度下降 16%。
谁使用 CDN?
几乎每个人。今天,超过一半的流量已经由 CDN 提供服务。这些数字每年都在迅速上升。现实情况是,如果您的业务的任何部分都在线,则没有理由不使用 CDN,尤其是当有如此多的公司免费提供服务时。然而,即使作为一项免费服务,CDN 也并非适合所有人。具体来说,如果您运行的是一个严格本地化的网站,并且您的绝大多数用户与您的主机位于同一区域,那么使用 CDN 几乎没有什么好处。在这种情况下,使用 CDN 实际上会在访问者和附近的服务器之间引入另一个不必要的连接点,从而降低网站的性能。
尽管如此,大多数网站都倾向于大规模运营,这使得 CDN 使用成为以下领域的热门选择:
- 广告
- 媒体和娱乐
- 网络游戏
- 电子商务
- 移动的
- 卫生保健
- 高等教育
- 政府
那么 CDN 能为我做什么?
现代 CDN 可以处理大量 IT 任务,帮助您:
- 提高页面加载速度
- 处理高流量负载
- 阻止垃圾邮件发送者、刮板和其他不良机器人
- 无需成本即可实现本地化覆盖
- 减少带宽消耗
- 多台服务器之间的负载均衡
- 保护您的网站免受 DDoS 攻击
- 保护您的应用程序
- 和更多
CDN 构建块
PoP(存在点)
CDN PoP(接入点)是位于战略位置的数据中心,负责与其地理区域附近的用户进行通信。它们的主要功能是通过使内容更接近网站访问者来减少往返时间。每个 CDN PoP 通常包含许多缓存服务器。
缓存服务器
缓存服务器负责缓存文件的存储和传递。它们的主要功能是加快网站加载时间并减少带宽消耗。每个 CDN 缓存服务器通常拥有多个存储驱动器和大量 RAM 资源。
固态硬盘/机械硬盘 + 内存
在 CDN 缓存服务器内部,缓存文件存储在固态硬盘和硬盘驱动器(SSD 和 HDD)或随机存取存储器 (RAM) 中,更常用的文件托管在速度更快的介质上。作为三者中最快的,RAM 通常用于存储最常访问的项目。
开始使用 CDN
要使 CDN 正常工作,它需要成为所有传入流量的默认入站网关。为此,您需要修改您的根域 DNS 配置(例如,domain.com)和子域的配置(例如,www.domain.com、img.domain.com)。对于您的根域,您将更改其 A 记录以指向 CDN 的 IP 范围之一。对于每个子域,修改其 CNAME 记录以指向 CDN 提供的子域地址(例如,ns1.cdn.com)。在这两种情况下,这都会导致 DNS 将所有访问者路由到您的 CDN,而不是被定向到您的原始服务器。
如果其中任何一个听起来令人困惑,请不要担心。今天的 CDN 供应商提供分步说明,以帮助您完成激活阶段。此外,他们还通过支持团队提供帮助。整个过程归结为一些复制和粘贴,通常需要大约五分钟。
CDN使用示意图
为什么 CDN 不是我网站托管的默认部分?
在理想情况下,CDN 将成为任何网站托管的组成部分。然而,当 CDN 在 1990 年代后期首次建立时,它们过于昂贵并且只有最大的组织才能使用。如今情况发生了变化,许多托管服务提供商实际上确实提供 CDN 服务作为复选框附加组件。
CDN 的演变
商业 CDN 从上世纪 90 年代就出现了。与任何其他已有数十年历史的技术一样,它们在成为当今强大的应用程序交付平台之前经历了几个进化阶段。CDN 的发展道路是由市场力量塑造的,包括内容消费的新趋势和巨大的连接性进步。后者已通过光纤和其他新的通信技术实现。总体而言,CDN 演进可分为三代,每一代都在其网络架构中引入新的功能、技术和概念。同时,每一代人都看到 CDN 服务的价格呈下降趋势,标志着其向大众市场技术的转变。
静态CDN
- 服务内容静态 HTML 和可下载文件
- 缓存方法原点推送
- 网络拓扑结构疏散
- 议程表现
- 价钱非常贵
- 顾客企业界
动态CDN
- 服务内容静态和动态内容,包括富媒体
- 缓存方法很多都是起源拉
- 网络拓扑结构合并
- 议程性能和可用性
- 价钱昂贵的
- 顾客业务部门
多用途 CDN
- 服务内容静态和动态内容,包括富媒体
- 缓存方法大部分都是origin pull
- 网络拓扑结构高度整合
- 议程安全性、性能和可用性
- 价钱实惠
- 顾客任何有网站的人
反向代理
内容分发网络采用反向代理技术。就拓扑而言,这意味着 CDN 部署在您的后端服务器之前。这个位于网络边界边缘的位置提供了几个关键优势,超出了 CDN 加速内容交付的先天能力。
如今,多功能 CDN 正在利用反向代理拓扑来提供以下类型的解决方案:
网站安全
网络安全就是管理对受保护边界的外部访问,最好在所有威胁踏入您家门口之前将其阻止。CDN 部署在您的网络边缘,非常适合充当虚拟的高安全性围栏,防止对您的网站和 Web 应用程序的攻击。边缘位置也使 CDN 成为阻止DDoS 泛洪的理想选择,需要在您的核心网络基础设施之外进行缓解。
负载均衡
负载平衡就是在你的服务器前面放置一个“流量守卫”,以这样一种方式交替传入的请求流,以避免交通堵塞。显然,CDN 的反向代理拓扑非常适合此目的,因为它是所有传入流量的默认接收者。此外,反向代理拓扑还为 CDN 提供了增强的流量可见性。这使它能够准确地衡量每个后端服务器上的待处理请求数量,从而实现更有效的负载分配。