你知道内容分发网络CDN吗
前言
几年前,我在浏览互联网时偶然发现了一个新的电子商务网站,注意到网站上的图片加载速度不快。我刷新了页面并重试了几次。终于,十秒钟后,我能够看到带有图像的渲染网页。
最初,我以为我的互联网连接很差,但互联网下载速度足够好。我也可以观看高清的 Youtube 视频。这激发了我的好奇心,想知道为什么电子商务网站无法快速加载图片。
我内心好奇的工程师决定研究网站性能缓慢的原因。我迅速打开谷歌的开发者工具并导航到 Networking 选项卡进行分析。在浏览了几篇 Stack Overflow 帖子后,得出的结论是该站点没有使用内容分发网络(CDN)。
在本文中,我们将了解CDN是什么、为什么需要它以及它的工作原理。此外,我们还将了解网站如何通过利用 CDN 来加速其内容得交付。背景
在当今世界,网站的性能至关重要。如果您的网站在加载时出现停机或缓慢,就很难留住用户。
再详细了解什么是内容分发网络 (CDN) 之前,我们先回顾一下我们的基础知识。让我们了解一下网页是如何在我们的设备上显示的。
客户端向服务器请求网页
上图概述了客户端如何请求页面并最终将其显示给用户。客户端(移动应用程序/浏览器)向Web 服务器发送HTTP请求。服务器处理请求,执行检查和验证,从数据库、硬盘或 blob 存储中获取数据返回响应。客户端读取响应。响应通常是返回给客户端的HTML页面。最后,将HTML页面显示给用户。
HTML 页面还可以包含图像、gif、视频等。因此,与文档一起,客户还有责任显示这些数据。
客户端还需要 Javascript 文件来使页面动态化。此外,它还需要 CSS 文件来设置网页样式。在 Developer tools 的 Networking 选项卡中,您会看到下图所示的选项。
如果您选择JS作为一个选项,您应该能够查看 Javascript 文件的所有请求和响应。这同样适用于其他类型,例如CSS, Img,Doc等。
我们可以将任何网页上的内容分为两种类型——静态数据和动态数据。静态数据
如果内容不经常变化,那么它就变成静态的。通常,图像、Javascript 和 CSS 文件不会经常更改。
此外,即使这些文件发生变化,我们也不会向用户显示不正确的数据。在任何文件增强的情况下,只有用户体验或网站的外观会发生变化。
在某些情况下,此类文件会保留在服务器的文件系统中。换句话说,Web 服务器将从硬盘中获取这些文件并将其发送回客户端。很多时候,这些文件都保存在 blob 存储中,例如 S3、Azure Blob 存储等。
静态数据的大小可以是 KB、MB 或 GB。比如电影文件很大并且占用大量带宽。动态数据
频繁变化的数据是动态的。例如:在 Youtube 上观看视频的观众人数。社交媒体网站上的评论、点赞或分享。
通常,服务器将动态数据存储在数据库中。根据用例,它可以是SQL或NoSQL。对于每个请求,服务器都会查询此数据,然后在响应中将其传回。在大多数情况下,JSON用于数据序列化。
Json数据是动态数据
与电影、视频或图像等静态数据相比,动态数据的大小很小。它的数量级为几 KB。服务器还可以将此数据存储在外部缓存中,例如 Redis 或 MemCached 以提高效率。什么影响网站的性能?延迟
延迟是指网站完全呈现所有数据所花费的时间。如果延迟增加,用户必须等待更多时间。用户等待的时间越长,转化率就越低。
以较低延迟呈现页面的网站性能更高。这些网站会在几毫秒内将页面显示给用户。
延迟取决于多种因素。它包括以下内容:用户和服务器之间的距离服务器处理时间从数据库中检索数据所花费的时间可用性
如果网站的服务器崩溃,客户端将无法查看网页。服务器还应该能够处理不断增加的负载。
如果网站不可扩展,服务器处理时间会增加并增加延迟。在当今世界,停机时间是不能容忍的。
由于这些网站是全球性的,因此预计它们会24*7*365运行。用户希望无缝地观看视频、在线购物、给朋友发消息等。什么是内容分发网络?问题
假设我们正在启动一个新的短视频应用程序,例如TikTok。我们构建网站的第一个版本并将其部署在美国洛杉矶。我们的网站在全球范围内均可访问,并且逐渐开始受到关注。
我们注意到我们正在接收来自欧洲、中东和印度的流量。随着流量的增长,我们横向扩展并添加更多服务器。然而,来自印度的用户抱怨他们的加载时间变长了。来自美国的用户不会面临同样的问题。为什么会这样?
客户端和服务器之间的距离
如上所示,我们的服务器部署在美国洛杉矶。对于印度用户,与美国用户相比,网络数据包必须传输更远的距离。随着距离的增加,所花费的时间也会成比例地增加。如果在美国获取数据所花费的时间是 5 毫秒,那么印度用户将花费 35 毫秒(距离是7 倍)。
这同样适用于欧洲的用户。欧盟的网站加载时间将超过美国的加载时间。这将接近3.5 倍。
此外,我们服务器上的视频文件不会经常更改。如果视频成为病毒式传播,则全球用户都可以访问同一个视频文件。如果视频文件的大小更大,问题会更加严重,因为网络带宽将成为瓶颈。
全球各地的客户访问服务器的文件 解决方案
如果我们减少客户端和服务器之间的距离,上述问题就会得到解决。而且由于视频文件不经常变化,我们可以有一个缓存机制。
通过缓存,我们将从我们的服务器请求一次文件,后续请求将由缓存提供服务。这将减少服务器上的整体负载。
内容分发网络 (CDN) 应用此解决方案并加速网站的内容分发。我们的主要 Web 服务器也称为 Origin 服务器。CDN 由一组在地理上分布的服务器组成。这些服务器也称为存在点 (POP) 服务器。POP 服务器所在的位置称为边缘位置。
CDN 服务器位于南美和非洲。
POP 服务器为居住在同一地理位置的用户提供内容。例如: 欧洲的 POP 服务器将为欧洲用户提供数据服务。印度用户将由位于印度的 POP 服务器提供服务。比喻
让我们以从银行提取现金为例。想象一下如果没有 ATM 机会怎样?如果没有 ATM 机,银行外就会排起长队。我们要花很长时间才能拿到钱。此外,在银行假期,人们将无法灵活地提取现金。
地铁站、餐厅、机场等不同地点的 ATM 机可确保银行不会排起长队。人们可以在方便的时候取钱。此外,人们可以去最近的 ATM,而不是去银行(距离可能更远)。
您可以将银行视为源服务器,将ATM视为CDN。CDN 位于用户位置附近。它们在地理上是分布式的,减少了源站服务器的负载。此外,它们还通过处理静态内容的流量来提高网站的可用性。CDN 的工作机制
下图显示了在浏览器中加载网站时发生的工作原理。
从 CDN 服务器获取内容
1. 浏览器向 DNS 发送 IP 地址查找请求。
2. DNS 服务器将使用最近的 CDN 服务器的地址进行响应。
3. 浏览器将向 CDN 服务器 (POP) 发送请求以获取数据。
4. CDN 服务器将检查其缓存中是否存在数据(图像、js、css、视频等)。
5. 如果数据不存在,POP 服务器将向源服务器发送请求以获取内容。
6. 稍后,POP 服务器将存储内容并将数据发送回用户。
7. CDN 用户还可以对内容设置 TTL(Time to Live)。例如:- 图像文件的 TTL 为 15 分钟。CDN 服务器将向用户发送相同的数据,直到它过期。
8. 一旦 CDN 服务器检测到内容过时,它就会从源服务器重新获取它。使用 CDN 的好处网站性能
客户端从 CDN 而不是源服务器获取静态数据(图像、视频等)。CDN 服务器在地理位置上靠近用户。随着距离的缩短,获取数据的时间也会缩短。这导致网站加载时间显着改善。
加载时间更快的网站可以改善用户体验。用户更倾向于高效和高性能的产品。例如:将 Google Chrome 与 Internet Explorer 进行比较。可用性
CDN 服务器占用了大部分网站负载。由于 CDN 服务器的行为类似于缓存,因此可以保护源服务器免受流量高峰的影响。由于 Origin 服务器处理的负载较少,因此该服务器出现故障的可能性较小。
网站的整体可用性得到提高。如果出现区域流量高峰,各个区域的 CDN 服务器会扩展并处理不断增加的负载。带宽
网站的主要开销是带宽消耗成本。当 CDN 处理流量时,源服务器提供的数据会大大减少。这有助于降低网站所有者的带宽成本。总结
内容分发网络CDN由一组服务器组成,这些服务器在地理位置上靠近用户,用于加速网站内容的交付。浏览器或移动应用程序从 CDN 而不是源服务器请求静态数据,CDN 从源服务器获取数据并缓存它。后续请求由 CDN 服务器提供。CDN 的主要好处是提高网站的性能、减少带宽消耗成本以及提高网站的可用性。
穷人有活路,青年有理想尊敬的老师,亲爱的同学们,大家好!今天我演讲的主题是穷人有活路青年有理想。哈尔滨华德学院人力资源管理2022届学生刘津硕富兰克林曾说贫穷本身并不可怕,可怕的是自己以为命中注定贫穷或
十一月,你好!一夜风紧月至十一一脚迈出深秋又一头扎进初冬寒风甚是喧嚣你听了老妈的话穿了秋裤吗或已到了不用提醒就早早穿上的年纪年初所列的任务清单完成了多少新换上的厚卫衣承载了多少冬天要来实现的愿望
人为什么会有烦恼?要怎样才能摆脱烦恼呢?当今社会有个流行词佛系。人人都把这个词挂在嘴边,似乎不佛系就是不会生活,但是有多少人真正理解他的含义呢。可能是现代社会人们的生活压力太大,焦虑无处不在,佛系这个词的出现,刚好给了大
黑夜,凝望你的双眸我想为你写首诗黑夜,凝望你的双眸文醉一城月色寒风飘过千山万水追梦中寻觅遗失的眼眸我在尘世间潜行背不动沉重的思念,放飞孤傲灵魂一个人走过斜阳晚照在暮色黄昏留下脚印以为可以踩痛大地却只
爆款降价超2000?双11超值性价比旗舰手机4000字推荐本内容来源于什么值得买APP,观点仅代表作者本人作者许某站内头号老实人写在开头一年一度入手新机最划算的时候到了!今年的双十一超多超优秀性价比钢炮机型促销,优惠幅度巨大。我本人也是忍
vivo宣布OriginOS3,内测体验官招募开启最近,关于vivo的后续新机陆续出现了不少相关爆料。而在这些手机新品正式到来前,vivo将先带来全新的OriginOS3。今天,vivo官方正式宣布,这一次,更得心应手。11月8日
双十一买电视怕花冤枉钱?只要留意这些参数,新手小白也能不踩坑十多年前,买电视基本只要看几个参数品牌屏幕尺寸材质还有价格。根据自己的预算和需求买电视就好了。随着时代的进步,现在的电视功能越来越多参数也越来越繁杂,普通消费者很容易被一些虚假参数
今年双十一平板怎么选?这三款产品实力很强,价格最低仅2K出头对于笔者而言,平板是生活中不可或缺的一类数码产品,它不仅拥有着比笔记本更加方便携带的优势,也有着比平时使用的手机更大的屏幕,配合上智能键盘,日常的办公不是问题,如果再加上手写笔,拿
M2MacBookPro1416不会在今年发布M2Max新规格曝光彭博大神MarkGurman在其PowerOn通讯中谈到苹果的MacBookPro14及MacBookPro16更新版。一直以来,MarkGurman也指Apple将在2022年底
企业预订团队机票时需要注意什么?出行人数出行人数至少10人以上,各航空公司根据当时航班的销售情况以及团队人数安排确认折扣舱位和票价。享受比普通机票价格更低的优惠和折扣提早预订最好需提前至少一个月预定,一般提前51
纳指下挫超百点,拜登政府酝酿向能源公司征收暴利税中新经纬11月1日电美股三大股指收跌,其中道指纳指均下挫超百点,分别收跌0。391。03,标普500指数下行29。08点,跌0。75。消息面上,据CNBC,交易员普遍预计美联储本周