CDN 是什么?运作原理一次看懂!
随着网际网路的普及,资讯变得触手可及,但在资料日益庞大且复杂的情况下,传输所需的时间也随之增加。当面对游标变成载入资料的圈圈时,除了耐心等待,使用 CDN(内容传递网路)或许是一个有效的解决方案。什么是 CDN?它如何运作?有哪些应用场景?本文将深入探讨 CDN 的架构、优势以及常见用途,为网站加速提供新选择。
CDN 是什么?
CDN 是Content Delivery Network 的缩写,中文翻译为「内容传递网路」,为多个分散在不同地理位置的代理伺服器(Proxy Servers)与其资料中心,透过网际网路连接而成的网路系统( Networks)。
这样的架构可以加快网路传输内容的速度,例如线上游戏中的画面或影音串流的档案载入时间缩短。虽然网际网路让资料传输无远弗届,但资料传输的速度会受地理位置之间的距离影响。
想像一下,你在 YouTube 网站点选其中一个影片档案后,YouTube 的资料中心就会开始叫出该影片内容,藉由网际网路将内容传送到你的装置上。 YouTube 的资料中心离你越远,传送影片内容所需要的时间就越长,出现延迟问题。而 CDN 在这时就可以派上用场,有效减少延迟,提升使用者体验。下一段会进一步介绍运作原理,方便大家更了解什么是 CDN。
CDN 运作原理与 CDN 架构
在 CDN 架构中,除了原本存放程式码与数据资料,执行核心运算的伺服器以外,会另外在建立代理伺服器,遍布于全球各地。并利用快取的方式,将内容储存在代理伺服器上,也因此 CDN 中的代理伺服器也叫做快取伺服器。
收到使用者存取内容的请求之后,再从离使用者地理位置最近的快取伺服器将资料传送至使用者。如此一来,资料实际传输的物理距离缩短,载入的速度就也就跟着缩短了。
【未使用 CDN 与使用 CDN 比较示意图】
这些用来暂存内容的快取伺服器通常称为节点(Points of Presence,POPs),CDN 架构中节点越多、分布越广,越能够帮实际使用者加速网站与内容的载入。
晟崴小知识:快取(Cache)是一种临时储存资料的技术。当使用者造访一个网站时,过去曾经存取的资料会被下载下来,存在使用者的装置上。下一次造访该网站时,就无需重新从网站的伺服器下载,直接载入已存在装置上的资料即可。而在 CDN 架构中,这些资料被存在快取伺服器,收到存取请求之后,就即时从最近的节点传送资料。
CDN 架构组成
一般来说,CDN 架构中包含了以下元件:
-
源伺服器(Origin Servers):存放原始内容的伺服器,使用者的存取请求即针对源伺服器中储存的内容。
-
快取伺服器(Cache Servers):暂时储存源伺服器的复本,数量众多、分布在不同地点,以就近传递内容给使用者,减少延迟并加快网站速度。
-
分发伺服器(Distribution Servers):负责将内容传送至快取伺服器,确保内容在不同区域可有效存取。
-
域名系统(Domain Name System,DNS) :主要将域名转换为 IP 位址,以便使用者的设备能够找到对应的伺服器并建立连线。
CDN 传递的内容种类
CDN 实际上可以传送什么样的内容呢? CDN 技术从 1990 年代末发展至今不断革新,从最初的静态内容传递到动态内容加速,都可以藉由 CDN 达成。无论是 HTML 页面、JavaScript 档案、样式表、影像、图片、文字、由于页面内容改变而出现的指令码等皆可透过储存在 CDN 快取伺服器,加快载入速度。
- 静态(Static Content):指储存在伺服器中不会改变的资料,每次传递给使用者时都保持一样的内容,例如网站中的 HTML 档案和图像即为不会改变的静态内容。可将静态内容想像成报纸:报纸一旦印刷发行后,所有读者拿起该报纸,都会看到相同的文章和照片,无论当天有没有其他突发新闻。
- 图片(.jpg、.png 等格式)
- CSS 样式表
- JavaScript
- 静态 HTML 页面
- 影音档案
- 动态(Dynamic Content):而相对来说,动态内容则是指会因为使用者存取网站资料当下的情况有所变化的档案,像是造访网站的时间、位置和装置等等。不同的存取请求,会让使用者访问到不同的资料。比方说网页中的个人化广告,会因为使用者过去浏览纪录或即时浏览行为等,出现不同的商品。
- 实时生成的 HTML 页面
- API 回应(JSON、XML 等)
- 个人化内容
- 实时数据(例如股票价格、天气状况等)
- 直播影片
CDN 跟主机伺服器一樣嗎?
尽管CDN 与网页主机伺服器(或称Web 伺服器)有类似功能,都可以传送资料给使用者,在现代的网路架构中,两者也密不可分,但CDN 和Web 伺服器并不相同,也CDN 无法取代Web 伺服器。
-
主机伺服器:存放一个网站或服务所需要的资料与档案,并且由主机伺服器负责进行运算。主机伺服器在单一地点在于储存、处理、管理网站或服务的核心内容,提供原始内容让 CDN 可以迅速传递。
-
CDN:分布于全球不同位置,提供暂时储存部分资料的地方,减少与使用者之间的物理距离,加快资料传输速度。
使用 CDN 有哪些好处?
CDN 可以在多个方面支援源伺服器,提升 IT 基础架构的性能:
-
提升使用者体验:缩短网站或服务载入时间,让减少使用者因不耐而跳出网站或服务的情况。
-
调节源伺服器负载量:CDN 也会依照源伺服器的负载情况判断,选择最佳的分流方式,减轻源伺服器的工作量。
-
降低频宽成本:调节负载平衡的同时,也可以降低源伺服器维护成本。因为每个传入源伺服器的存取请求都会消耗网路频宽。使用 CDN 之后,进到源伺服器的请求量减少,源伺服器提供給使用者的資料諒減少,網站拥有者的托管源伺服器的成本也就跟著减少。
-
提高安全性:CDN 也可以应用在 DDoS 攻击防御上,调节负载以缓解流量高峰问题。
CDN 用途有哪些?
对使用者遍布全球、高流量的网站或服务来说,CDN 可以提升网站的可用性,让内容载入加快,提升服务品质。在实务上,可应用于以下场景:
- 企业网站:网站加速减少延迟并加速静态资源(如图片、CSS、JS)的传递,提升使用者体验。
- 影音直播:媒体内容传输加速,CDN 可将影音内容分发到多个节点,让观众无论身处何地,都能在低延迟和高稳定性的情况下,观看直播影片。
- 游戏开发营运:让玩家分批下载大型游戏安装程式或更新档案,避免集中流量导致伺服器过载,同时也可降低线上游戏的延迟问题,提升游玩体验。
- 电商网站:提供快速载入的商品页面和结帐流程,减少消费者因为购物车载入过慢而弃单的情况,并在高峰流量时维持网站稳定运作。
- 软体更新:为操作系统、应用程式或设备提供快速且可靠的更新档案传递方式,提升使用者更新版本的效率与意愿。
开始导入CDN 的 6 个注意事项
选择 CDN 服务商、开始为自己的网站部署 CDN 之前,企业可以根据自己的 IT 架构、营运需求以及 IT 预算,考量以下要点:
-
CDN 节点数量与分布位置:自己的使用者多在哪一区、CDN 服务商的节点覆盖于哪一区等地理位置考量。
-
CDN 节点安全性措施:是否具有资料加密、防火墙、源伺服器保护等安全性功能。
-
快取资料到期时间:具有时效性的内容,设置快取的到期时间非常重要。到期时间不宜过长或过短。过长可能导致内容不再是最新的,过短则可能导致频繁从源伺服器重新加载内容到 CDN。
-
CDN 故障备援:需要考虑网站或应用程式在 CDN 故障时的应对方案。如果 CDN 暂时中断,企业如何可以即时检测问题。规划故障解决方法,例如使用者可以先利用已经快取在使用者的装置上的资料,或让使用者直接对源伺服器送出存取请求。
-
部署 CDN:可能需要针对不同内容,部署独立的 CDN,考虑版本管理和加载优化。
-
路由与版本管理:在部署新版本时,可使用不同的 CDN 实例来支援旧版与新版内容,并透过快取控制和区域限制来提升资源管理的灵活性与安全性。
晟崴科技提供 CDN 网站加速服务,协助您依照企业需求和考量,部署高效的 CDN 节点,提升服务品质与使用者体验。欢迎与我们联络!
立即联络晟崴科技为您提供CDN加速服务