什么是CDN?
CDN代表内容分发网络。顾名思义,它是一个分布式节点网络(也称为边缘位置服务器),它有助于根据用户的位置,内容源服务器和边缘服务器向最终用户的地点传送内容(网页、视频、图像等)。CDN节点具有缓存内容的缓存功能,并且可以从地理上靠近最终用户的位置向用户提供内容。CDN节点由CDN提供商部署在多个地理位置,并且可以跨越多个ISP(因特网服务提供商)网络。
CDN如何运作?
当用户尝试从特定位置访问网络服务器数据(网站)时,如果为网站配置了CDN设置,则该请求首先进入附近的最佳CDN节点。现在,如果CDN已经在该节点上缓存了所请求的数据,那么它将从该节点提供给用户,而无需返回到原始服务器。但是,如果数据未缓存到为该用户提供服务的CDN节点上,则请求首先进入CDN节点,然后从那里进入原始服务器。然后,CDN节点从源服务器获取数据并提供用户的请求。此外,CDN节点缓存该数据以服务来自该用户或从该节点请求该数据的任何其他用户的任何未来请求。因此,原则上,在网站上使用CDN,只有请求特定内容的第一个用户遭受额外的延迟,并且将来请求该内容的所有用户将更快地访问该特定内容,因为它将从CDN节点提供。当然,这取决于内容的内容缓存设置(例如,网站缓存设置),因为这些设置可能要求CDN节点基于内容到期时间再次获取内容。本页底部对此进行了解释。
在现实世界的情况下它意味着什么,为什么需要它?
假设您拥有一个托管在Web服务器(内容的来源)上的网站,并向网站访问者提供灵感引用图像。当您开始使用网站时,您将其托管在特定的地理位置,例如英国。最初,当网站启动时,您可能会看到来自英国的访问者访问您的网站以查看和下载内容。随着您的网站开始流行,来自英国和国外的更多用户开始访问您的网站。这带来了三个挑战。首先,随着越来越多的用户访问同一个网络服务器,网络服务器上的负载增加,并且无法同时为所有用户提供服务,从而导致访问您网站的用户体验不佳。其次,由于原始服务器位于英国,访问它的用户将面临延迟,因为数据是通过互联网从地理位置较远的位置传输的。第三个挑战是从原始服务器提供内容所需支付的带宽成本,因为更多用户需要更多带宽来提供内容。
使用CDN可以解决这三个挑战。由于CDN是用于提供内容的地理上分布的服务器网络,因此它充当最终用户和源服务器之间的中间人。对于第一个挑战,一旦用户访问网站,就将请求发送到最合适的节点以进行内容传递,然后以与上述相同的原理从CDN节点提供请求。因此,在这种情况下,不是将所有用户的所有请求发送到源服务器,而是将其发送到分布式节点,并最小化源服务器上的负载。
对于第二个挑战,CDN将能够应对挑战,因为CDN节点分布在不同地区和大陆。这样,用户由他们自己的地理位置中的节点服务,因此只要CDN节点可用,与源服务器的距离就不会产生问题。
对于成本的第三个挑战,CDN可以减少服务器的带宽需求,因为所有请求都不会发送回服务器。 CDN节点在带宽成本方面通常比原始服务器便宜得多。进一步为了优化成本,可以选择在带宽/成本方面最便宜的CDN节点位置来服务内容。
网站缓存设置
网站缓存设置可以在CDN内容缓存中发挥重要作用。根据网站缓存设置,CDN可以缓存来自Web服务器的内容。有不同的缓存设置可以导致CDN节点每次下载内容,或者可以请求节点检查服务器是否内容已过期。单击链接可以更详细地了解缓存配置。