深入理解内容分发网络 CDN

概览

CDN 是一个加速网站静态文件的服务,通过向阿里云、腾讯云、百度云等服务商配置 CDN 参数及 CNAME 调用方式来加速网站访问服务,阿里云等服务商主要将源站文件自动缓存分发到自己的 CDN 节点,使网站访问者连接到最近的 CDN 节点,让用户就近访问最近范围分布的节点内容,以达到加速访问和承载源站服务器的压力的效果。

开通 CDN 服务后,你可以应用于以下主要场景:
1. 最开始是应用于网站的小文件缓存,如图片、CSS、JS 等;
2. 后来还针对下载站而涉及的大文件下载服务,如应用更新、手机 ROM 升级、应用程序包下载等;
3. 再后来应用于音视频网站点播服务,如影视、教育、新闻类视频网站及短视频网站和音频类网站等;
4. 如今的 CDN 服务已覆盖以上列举的静态加速方案,以及动态网站文件 .jsp .asp .php 和视频直播等领域。

工作原理

CDN 的服务架构

架构图
以上为阿里云 CDN 的产品架构图,由调度系统、链路质量系统、缓存系统和支撑系统这四大系统组成。

CDN 的加速机制

工作原理
假设您的加速域名为 www.a.com,接入 CDN 开始加速服务后,当终端用户在北京发起 HTTP 请求时,处理流程如下图所示。


附录 CDN 的关键词条

源站
源站是指运行用户业务应用的 Web 服务提供方。源站可用来处理和响应用户请求,当边缘节点没有缓存用户请求的内容时,节点会返回源站获取资源数据并返回给用户。阿里云 CDN 的源站可以是 OSS 域名、IP、源站域名或函数计算域名。

边缘节点
边缘节点是 CDN 用于缓存源站资源,以便快速响应不同地域用户请求的网络节点。在阿里云 CDN 的帮助文档中,边缘节点、CDN 节点、Cache 节点、缓存节点、加速节点、阿里云节点等都指阿里云 CDN 的边缘节点。

加速域名
域名(Domain Name)又称网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

加速域名是指接入 CDN,用于加速源站的域名,也是您最终暴露给终端用户访问的域名。CDN 通过加速域名将源站资源缓存到 CDN 加速节点,实现资源访问加速。例如,您使用 www.example.com 域名接入阿里云 CDN,那么加速域名就是 www.example.com。在阿里云 CDN 的帮助文档中,加速域名通常被简写为域名。

CNAME 记录
CNAME(Canonical Name)记录即别名记录,用来把一个域名解析成另一个域名,再由另一个域名提供源站服务。

例如,您在一台服务器上存放了很多资料,使用 docs.example.com 访问服务器上的资源,但又希望通过 documents.example.com 也能访问,您可以在您的 DNS 解析服务商添加一条 CNAME 记录,将 documents.example.com 指向 docs.example.com,所有访问 documents.example.com 的请求都会被转发到 docs.example.com。

CNAME 域名
在 CDN 控制台添加加速域名后,系统会给对应的域名分配一个.kunlun*.com 形式的 CNAME 域名。您需要在您的 DNS 解析服务商处添加一条 CNAME 记录,将加速域名指向 CNAME 域名。记录生效后域名解析就正式转向 CDN 服务,该域名所有的请求都将转向 CDN 的边缘节点,达到加速效果。

静态内容(静态资源)
静态内容是指用户多次请求某一资源,响应返回的数据都是相同的内容。例如图片、视频、网站中的文件(HTML、CSS、JS)、软件安装包、APK 文件、压缩包文件等。

CDN 通过加速域名将源站的静态资源缓存到 CDN 遍布全球的加速节点上,供用户就近访问,实现资源访问加速。

动态内容(动态资源)
动态内容是指用户多次请求某一资源,响应返回的数据可能是不同的内容。例如网站中的文件(ASP、JSP、PHP、PERL、CGI)、API 接口、数据库交互请求等。

DNS
DNS(Domain Name System)即域名解析服务,可以将域名转换成网络可以识别的 IP 地址。人们习惯记忆域名,但机器间互相只识别 IP 地址。域名与 IP 地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程自动进行。例如,您上网时输入的 www.baidu.com 会自动转换成 220.181.112.143。

SSL/TLS
SSL(Secure Sockets Layer)即安全套接字协议,SSL 协议位于 TCP/IP 协议与各种应用层协议之间,可以有效协助 Internet 上的应用软件提升通讯时的资料完整性及安全性。IETF 将 SSL 标准化后名称被改为 TLS(Transport Layer Security),即传输层安全协议,因此通常将两者并称为 SSL/TLS。

回源
当用户通过浏览器发送请求时,如果 CDN 节点未缓存请求的资源或缓存资源已到期,此时会回源站获取资源并返回给用户,该过程被称为回源。

回源 HOST
回源 HOST 即回源域名,当源站服务器上提供多个域名服务时,CDN 节点回源时在源站访问的具体站点域名。示例如下:
-示例 1:源站是域名。
源站为 www.a.com,回源 HOST 为 www.b.com,实际回源是请求到 www.a.com 解析到的 IP,即对应的主机上的站点 www.b.com。

-示例 2:源站是 IP。
源站为 1.1.1.1,回源 HOST 为 www.b.com,实际回源的是 1.1.1.1 对应的主机上的站点 www.b.com。

回源协议
回源协议指 CDN 节点回源时使用的协议,与客户端访问资源时使用的协议相同。例如,当客户端使用 HTTPS 方式请求未缓存在 CDN 节点上的资源时,CDN 节点会使用相同的 HTTPS 方式回源站获取资源。

0 条评论

昵称

沙发空缺中,还不快抢~