一文带你搞懂 CDN 的技术原理
一、什么是 CDN
简单的说,CDN 的工作原理就是将您源站的资源缓存到位于全球各地的 CDN 节点上,用户请求资源时,就近返回节点上缓存的资源,而不需要每个用户的请求都回您的源站获取,避免网络拥塞、缓解源站压力,保证用户访问资源的速度和体验。
解决服务器端的“第一公里”问题 缓解甚至消除了不同运营商之间互联的瓶颈造成的影响 减轻了各省的出口带宽压力 缓解了骨干网的压力 优化了网上热点内容的分布
二、CDN工作原理
传统访问过程
传统访问过程
用户输入访问的域名,操作系统向 LocalDns 查询域名的 ip 地址 LocalDns向 ROOT DNS 查询域名的授权服务器(这里假设LocalDns缓存过期) ROOT DNS将域名授权 dns记录回应给 LocalDns LocalDns 得到域名的授权 dns 记录后,继续向域名授权 dns 查询域名的 ip 地址 域名授权 dns 查询域名记录后,回应给 LocalDns LocalDns 将得到的域名ip地址,回应给 用户端 用户得到域名 ip 地址后,访问站点服务器 站点服务器应答请求,将内容返回给客户端
CDN 访问过程
通过上图,我们可以了解到,使用了CDN缓存后的网站的访问过程变为:
用户输入访问的域名,操作系统向 LocalDns 查询域名的ip地址.
LocalDns向 ROOT DNS 查询域名的授权服务器(这里假设LocalDns缓存过期)
ROOT DNS将域名授权dns记录回应给 LocalDns
LocalDns得到域名的授权dns记录后,继续向域名授权dns查询域名的ip地址
域名授权dns 查询域名记录后(一般是CNAME),回应给 LocalDns
LocalDns 得到域名记录后,向智能调度DNS查询域名的ip地址
智能调度DNS 根据一定的算法和策略(比如静态拓扑,容量等),将最适合的CDN节点ip地址回应给 LocalDns
LocalDns 将得到的域名ip地址,回应给 用户端
用户得到域名ip地址后,访问站点服务器
CDN 节点服务器应答请求,将内容返回给客户端。(缓存服务器一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程)
CDN网络的组成要素
智能调度 DNS(比如 f5 的 3DNS)
智能调度DNS是CDN服务中的关键系统.当用户访问加入CDN服务的网站时,域名解析请求将最终由 “智能调度DNS”负责处理。 它通过一组预先定义好的策略,将当时最接近用户的节点地址提供给用户,使用户可以得到快速的服务。 同时它需要与分布在各地的CDN节点保持通信,跟踪各节点的健康状态、容量等信息,确保将用户的请求分配到就近可用的节点上.
缓存功能服务
负载均衡设备(如lvs,F5的BIG/IP) 内容Cache服务器(如squid) 共享存储
三、名词解释
CNAME记录(CNAME record)
docs.example.com
去访问这些资源,但又希望通过documents.example.com
也能访问到这些资源,那么你就可以在您的DNS解析服务商添加一条CNAME记录,将documents.example.com
指向docs.example.com
,添加该条CNAME记录后,所有访问documents.example.com
的请求都会被转到docs.example.com
,获得相同的内容。CNAME域名
DNS
DNS 即 Domain Name System,是域名解析服务的意思。它在互联网的作用是:把域名转换成为网络可以识别的 IP 地址。人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。比如:上网时输入的www.baidu.com 会自动转换成为 220.181.112.143。
回源 host
回源host:回源 host 决定回源请求访问到源站上的具体某个站点。
例子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
协议回源
https://www.jianshu.com/p/1dae6e1680ff
DevOps 国际峰会 2022 · 北京站,精彩重新开启,不断继续,点击阅读原文,查看更多