What Is a CDN and How Does It Work?(译)

原文地址:What Is a CDN and How Does It Work?

CDN –您会不断看到这个缩写单词。 也许在URL中,也许在登录页面中,但从未被关注过-什么是内容交付网络,它们的作用是什么?

我们将在这篇概述文章中进行说明,并在后续帖子中演示两个受欢迎的文章。

Network

CDN基础

CDN是传递内容的计算机网络。

更具体地说,这是一堆服务器,它们存在于某些Web内容的原始服务器和用户发出请求的服务器之间,所有这些服务器的目的都是通过减少延迟来更快地交付内容。 这是他们的主要目的。

这些在地理位置上较近的服务器(也称为PoP或存在点)也缓存可缓存的内容,从而减轻了原始服务器的许多负担。 不同的CDN类型提供不同类型的服务,并且它们可以具有不同的网络拓扑:分散的CDN旨在使分散的服务器数量尽可能多 尽可能遍布世界各地。 Akamai就是这样的CDN之一。 合并的CDN具有较少的点,但为网络性能,吞吐量和DDoS抵抗而构建的点较大。

CDN的类型

我们说过,CDN的主要目的是减少延迟并加快渲染速度。 但是,在现代世界中,2MB图像和500kb JavaScript库在网站上需要3分钟才能启动,这种延迟几乎无关紧要。 但是随着时间的推移而发展,CDN也有其他用途。

面向内容的CDN

最初,CDN仅用于静态内容(JS,CSS,HTML)。 您必须在创建/上传内容时向他们推送内容(他们不知道他们需要使用您的内容来更新其缓存,即使有人请求也是如此)。

然后,他们添加了origin pulling,使事情变得更加自动化–这意味着用户请求CDN的URL,然后 CDN自动请求原始网站的URL,缓存返回的内容。 此外,有效性成为重要的因素。 现在,许多CDN都缓存了网站的“最后存在”状态,因此,如果原始内容变少了,用户仍然可以访问CDNed内容,从而产生了稳定的幻象,直到一切恢复正常为止。

此外,现代CDN经常会提供自动优化层,这些层会根据请求的图像大小自动调整图像大小并保存以备将来使用。 这意味着,如果您的网站有2MB的标题图片,并且有人在300px宽的屏幕上请求它,那么CDN会复制一个大小为30kb,宽度为300px的副本,并在将来将其提供给所有移动用户,从而自动使网站速度更快 。

面向安全的CDN

CDN中增加的最后一层实用性是DDoS和僵尸程序防护。 像Incapsula这样的CDN专门从事此工作。

由于CDN是网站基础结构的最外层,并且是流量的第一个接收者,因此CDN可以及早发现DDoS攻击,并使用称为Scrubber的特殊DDoS保护服务器将其阻止,而未等它们到达原始服务器就可将其击溃。

此外,通过使用从众多客户那里获得的众包知识,CDN可以了解可疑IP,垃圾邮件发送者,破坏者甚至爬虫的类型及其行为。 例如,如果在站点A上识别到某个爬虫,在站点B受同一CDN保护的情况下,便也会停止该爬虫在站点B上工作,因为流量过滤器会识别出以前看到的模式。

German Shepard Guarding

而且,尽管CDN确实允许其客户上传自定义证书,但他们也提供自己的证书。 这有两个好处:

  1. 当证书中出现一个很大的漏洞时,CDN通常会快速做出响应,因为它们损失的最多(所有客户)。 因此,通常在大多数人甚至不知道安全漏洞之前就已经有修复程序。
  2. 连接速度更快,因为如果许多网站使用相同的CDN,那么您已经通过其SSL证书与CDN建立了有效的连接和相互信任,并且不必为每个使用该CDN的站点重复此过程。 证书。 这对单个网站的影响不如对整个网站的影响大。

最大的玩家

CDN领域中一些最大的参与者是Akamai,AWS Cloudfront,Cloudinary,Incapsula,MaxCDN,Fastly等公司。

除了列出完整的类别,我们将列出其中每个类别都可以成为冠军的类别:

爬虫和DDoS防护

尽管在其他方面也不错,但Incapsula在抓取和DDoS保护方面无与伦比。 凭借庞大的数据库,该数据库不仅包含有问题的代理IP地址,而且还包含机器人和爬虫的鼠标以及浏览模式,可以阻止大多数自动攻击消失在他们的轨道上。

速度与全球影响力

Akamai,甚至Facebook都使用的CDN,在全球可用性方面拥有良好的记录。 他们分散的网络拓扑模型以及在世界上最贫困地区(其他CDN缺乏的可用性)的可用性,使得即使在低连通性区域中,也可以使用Akamai平滑地加载内容。 紧随其后的是来自亚马逊的AWS Cloudfront。

选择与否:您的目标是从中国到美国,从芬兰到南极洲的全球性业务。

负担能力

Amazon Cloudfront是付费计划中最便宜的(我们不算免费计划,因为这些计划通常缺少重要功能),并且可以说是仅次于Akamai的最大覆盖范围,而且价格也不是那么便宜(分散的拓扑维护起来很昂贵)。

选择与否:价格是一个问题。

热链接

热链接是指当有人在您网站上托管的图像上选择“复制图像地址”,并直接将其直接包含在原始URL中的情况下。 这通常是内容窃贼的草和懒惰工作,但是如果模仿者成功地在影响力较大的社交媒体网站(例如Facebook或Reddit)上共享其网站,并且服务器遭受了麻烦,则可能会导致大笔开支。 MaxCDN和KeyCDN都提供了很好的热链接保护。

选择与否:您有一个画廊,旅行博客或任何其他图像丰富的网站,这些网站可能会发生热链接。

其他

我们鼓励您自己出去调查选择适合自己的。 有不计其数的职位将CDN相互比较,每个CDN的每个计划在提供的选项上都与下一个有所不同。 覆盖全面非常困难,而且具体方面在不断变化。

实现过程

实现CDN通常需要在注册商(您租用您的域名的公司)的控制面板中更改一些DNS记录。 这导致所有流量首先到达CDN,进而又到达您的网站。 由于这一切都是在后台进行(通过IP),因此该过程对用户是透明的。

Front end vs back end

有时,网站会在其主域中添加一个特殊的子域,以在其上托管图像,JavaScript,CSS和其他静态内容。 如果您在打开诸如Facebook之类的网站时打开浏览器开发控制台的“网络”选项卡,或者只是注意浏览器的状态栏,您会注意到其中包含cdn的许多URL –这就是该站点仅在请求 它的某些内容来自CDN。

为什么不通过CDN请求所有内容? 因为静态内容通常很大-2MB图像,500kb JS等,所以值得快速提供,这是原因a)它不会经常更改并且可以长时间缓存,这是原因b)消除了静态内容的巨大负担。 应用程序的主服务器,可以是动态的。

总结

在本文中,您了解了什么是CDN及其工作方式。 您了解了CDN的不同类型及其潜在的工作范围,以及该领域的最大参与者。

在两篇后续文章中,我们将介绍Cloudinary和Cloudflare,在我们的主要Performance-Month-Project中,我们实际上将其中之一实现到了我们的真实应用中,以便您可以在实际示例中看到它们。 敬请关注!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352