首先什么是CDN?听说服务器的负载会减少!

首先什么是CDN?听说服务器的负载会减少!

作者:云资讯    浏览次数:360    2021-07-07 11:48:54

CDN 很熟悉
我想很多人都不会第一次听到CDN这个词。主要原因是即使您通常创建和运营网站也不必担心。也可能没有多少人或公司运行的站点大到需要 CDN。

但是,CDN 实际上用在非常熟悉的地方。是的,它用于 PC 的 Windows 更新和智能手机的操作系统更新。如果在特定时间发布,将一个大文件传递到多个终端,服务器的负载将非常高。更重要的是,这些更新在发布的第一天非常重,而在其他几天则非常轻。

首先什么是CDN?听说服务器的负载会减少!-云资讯

为最大负载的那一天准备服务器或网络是非常昂贵的,因为即使在低负载的日子里也必须在最大负载的那一天运行服务器。这种情况下的成本是电费、线路费、服务器维护成本和许可费(如果您使用的是付费操作系统)。一台服务器要花很多钱。因此,仅在最大负载的那一天租用服务器和网络是多么容易!CDN 满足了这一需求。

我认为很多人在谈到网络成本时并没有说到点子上,但是由于大多数服务器服务通常以 100 Mbps 共享的服务器费用作为套餐提供,因此认识到它不是很常见花钱…… Sakura Cloud 提供的网络带宽费用在 100 Mbps 时为每月 4,320 日元,而在 3000 Mbps (3 Gbps) 时为 324,000 日元。请记住,宽带网络价格昂贵。

当然,除了更新文件等文件分发之外,CDN 也用于网站分发。可以在高度公开的网站(例如天气预报和新闻)以及短时间内具有高负载的网站(例如与电视相关的项目)上看到用例。NHK 在发生灾害时提供的同步互联网广播是使用 CDN 传送的。

简而言之,CDN 就像一个租赁服务器,可以接管负载。如上图所示,您服务器上的负载将会减少,您可以通过分担部分负载来提供稳定的服务。

CDN 的工作原理
什么是 CNAME
为了将数据放在您自己的服务器以外的地方并从与您的站点相同的 URL 分发数据,您首先需要了解 DNS 的工作原理。经常设置DNS的人可能见过。你可以在 DNS 中设置各种值,但最常用的是 A 记录。这是指定example.com的A记录为***...***的IP地址的设置类型,是域与服务器关联的最重要的资源记录…… 还有一个 MX 记录,用于指定邮件服务器。

这些资源记录配置类型之一是 CNAME 类型。CNAME 是 Canonical NAME 的缩写,它允许您将一个域与另一个域相关联。你可以用这个做的是,如果你将 www.example.com 的 CNAME 设置为 www.example.jp,访问 www.example.com 的用户仍然会看到 www.example.com 和 www.example 的 URL。您可以访问 .jp。

您可能会觉得您正在重定向 URL,但与重定向不同的是,您可以使用请求的 URL 显示另一个站点的内容。该 URL 用于按原样显示其他站点的内容。

通过使用此 CNAME,您可以分发来自另一台服务器的数据,同时将 URL 保留在您的站点上。如果其他服务器包含您站点的整个文件怎么办?您可以在不使用自己的服务器的情况下分发您的站点。

什么是源服务器?
当您想到日本的起源时,您可能会想到便当,但在这种情况下并非如此。Origin 的意思是“起源”,但在 CDN 的情况下,它的意思是“包含原始数据的服务器”。相反,传递数据的服务器称为“缓存服务器”(有时称为边缘服务器)。

粗略地说,CDN 由 DNS、缓存服务器和源服务器组成。

上图显示了粗略的访问顺序,但图像是最终用户通过DNS向缓存服务器发出请求,并将数据从缓存服务器获取到源服务器。在 CDN 的情况下,通常使用 CDN 发布的域作为 CNAME,并在 CDN 管理屏幕上指定源服务器的 URL。

直到缓存服务器代表源服务器交付数据
由于缓存服务器最初是空的,所以需要到源站去获取。第一次从源站获取后,第二次及以后的访问将直接从缓存服务器下发,不会发生对源站的访问。这种状态称为“缓存服务器正在缓存源服务器的内容”。“缓存”这个词可能比较熟悉,但在 CDN 中,“缓存”一词是指从源服务器检索数据并保存在缓存中的状态。

关于“缓存”这个词,从“清除缓存后智能手机的操作变得更轻”和“删除浏览器缓存后故障得到纠正”的经验来看,不知何故“缓存=邪恶。删除什么” . 删除时,操作变轻。“可能会有”的图像。但是缓存本来就是临时存放复杂的数据库请求产生的成品,可以说,就像是在咖喱店里提前煎炸肉排咖喱肉饼一样。炸猪排大约需要 7 分钟,但如果您保留它,您可以高速上菜咖喱排,因为只需加​​入咖喱即可完成。

顺便说一句,CDN 的重点是不访问源服务器。如果按原样缓存,将消除源服务器上的负载!你可能会很高兴,但请稍等。如果不来获取,即使更新源站数据也不会反映。当然,缓存服务器数据未经许可是不会更新的。如果上传错误的数据并缓存,错误的数据将继续传递。

如果包含您的个人信息的页面被缓存并发送给其他无关人员怎么办?个人信息将被泄露。因现金事故而导致的个人和机密信息的无意暴露将在另一期发布。

缓存时间的想法
上面解释了缓存服务器“缓存”数据而不是源服务器的概念。让我们深入挖掘并介绍“现金时间”的概念。这是使用 CDN 的一个非常重要的因素。

如果您将某条数据的缓存时间设置为30秒,则缓存服务器在第一次访问时从源站获取数据后,会在30秒内从缓存服务器下发数据,如果31秒后有访问,会再次执行,我会去源站获取数据。这时候,不管有没有更新,都会去取源站上的数据,新的数据会再次缓存30秒。

这就是缓存时间的思想。30 秒内没有访问源服务器,这意味着避免了负载。例如,即使是每秒上亿请求的怪物级站点,如果缓存服务器处理得当,源服务器上的负载也会是每30秒1个请求(实际上不是单个文件) ,所以它不会像这样工作。它只是一个图像)。

如果在缓存服务器上找到该文件,则不会访问源服务器,如图所示。缓存服务器对文件的缓存时间进行管理,当缓存时间到时,如第一图所示再次将文件取回源服务器,缓存时间直接从CDN下发。

即使在咖喱店,炸猪排的时间也是固定的,过了规定的时间就会被丢弃(虽然控制炸猪排的剩余数量,因此实际上不会丢弃)。如果您认为这是离开这种油炸食品的好时机,则可能更容易理解现金时间。如果超过规定时间不能使用猪排,则需要将猪排煎7分钟,这会延迟咖喱排的上菜时间。

关于缓存目标文件
CDN需要明确需要缓存的文件和缓存时间。在网站上使用 CDN 有两种方法:将一些文件放在子域下并缓存整个子域,或者通过 CDN 将整个站点 URL 逐个文件地缓存。有一种方法可以决定不至。

在前一种情况下,它主要用于仅缓存具有大量数据的文件,例如图像和视频。您可以减少文件传输量,但无法减少服务器上的底层负载。后者理论上可以缓存所有文件,但是如果没有正确选择要缓存的文件,就会发生缓存事故。

以咖喱店为例,即使炸猪排,连米饭都放在盘子里的地方也不多。饭从电饭锅上菜到盘子里的时间并不长,而且可以说缓存大份、中份、普通份等详细需求没有什么好处。

缓存目标我以后会解释,但是此时你可以设置是否缓存目标,记住如果你不好好考虑这个会很困难。

CDN机制全貌
顺便说一下,在本系列的第 1 部分中,您将了解 CDN 的全貌。

其实一个熟悉的CDN
剪不下来的CDN和DNS
源服务器和缓存服务器的关系
缓存、缓存时间、缓存文件的概念
我解释了一下。
在这个阶段,有一个方便的服务器,以某种方式传递数据,使用它需要DNS设置,必须设置缓存时间。你是否理解没关系。