来源:https://www.jianshu.com/p/1da...1.什么是CDN?CDN的全称是(ContentDeliveryNetwork),即内容分发网络。其目的是在互联网上增加一层新的CACHE(缓存)层,将网站内容发布到离用户网络“边缘”最近的节点,使用户就近获取所需内容并提高用户访问网站的响应速度。从技术上全面解决了网络带宽小、用户访问量大、网点分布不均等原因,提高了用户访问网站的响应速度。简单来说,CDN的工作原理就是把你源站的资源缓存在遍布全球的CDN节点上。当用户请求资源时,将返回缓存在最近节点上的资源,而不是每个用户的请求。从源站获取,避免网络拥塞,缓解源站压力,保证用户访问资源的速度和体验提供商间互联瓶颈带来的影响,减轻各省出口带宽压力,缓解骨干网压力,优化互联网热点内容分布。2、CDN的工作原理。CDN缓存网站的流程是:?1.用户输入要访问的域名,操作系统向LocalDns查询该域名的IP地址,域名授权dns记录响应LocalDns4.LocalDns后获取域名授权dns记录,继续向域名授权dns查询域名ip地址5.域名授权dns查询域名记录后,响应LocalDns6.给客户端7.之后用户获取域名ip地址,访问站点服务器8.站点服务器响应请求,返回内容给客户端?CDN访问流程》从上图我们可以了解到网站使用了CDN缓存后访问过程变为:?1.用户输入要访问的域名,操作系统向LocalDns查询该域名的IP地址。2.LocalDns向ROOTDNS查询该域名的权威服务器(此处为假设LocalDns缓存过期)3.ROOTDNS查询域名授权dns记录响应LocalDns4.LocalDns获取到该域名的授权dns记录后,继续向该域名授权dns查询该域名的IP地址。,从智能调度DNS中查询该域名的IP地址7.智能调度DNS根据一定的算法和策略(如静态拓扑、容量等),将最合适的CDN节点ip地址响应给LocalDns。响应客户端9.用户获取域名ip地址后,访问站点服务器10.CDN节点服务器响应请求,返回内容给客户端。获取到的数据返回给客户端,完成数据服务过程)?通过上面的分析,我们可以得到,为了实现对普通用户的透明访问(用户客户端使用缓存后不需要做任何设置),需要使用DNS(DomainNameResolution)引导用户访问Cache服务器,实现透明加速服务。由于用户访问网站的第一步是域名解析,因此通过修改dns来引导用户访问是最简单有效的方式。对于用户来说,每个CDN节点都相当于一个放置在其周围的网站服务器。通过dns的接管,将用户的请求透明地定向到最近的节点,节点中的CDN服务器会像网站的原始服务器一样进行响应。用户的请求。既然离用户更近,响应时间必然会更快。上图中虚线圈圈出的部分是CDN层,位于用户端和站点服务器之间。智能调度DNS(如f5的3DNS)智能调度DNS是CDN服务中的一个关键系统。当用户访问加入CDN服务的网站时,域名解析请求将通过一套预先定义的策略最终由“智能调度DNS”处理。将距离用户最近的节点地址提供给用户,使用户能够得到快捷的服务。同时需要与分布在各地的CDN节点保持通信,跟踪每个节点的健康状态、容量等信息,保证用户的请求分配到最近的可用节点上。缓存功能服务负载均衡设备(如lvs、F5的BIG/IP)内容缓存服务器(如squid)共享存储3.名词解释CNAME记录(CNAMErecord)CNAME是一个别名(CanonicalName);可以用来将一个域名解析为另一个域名,当DNS系统在查询CNAME左边的名字时,会转为CNAME右边的名字再查询,会一直向下追踪到lastPTRorAname,查询成功才会响应,否则失败。比如你在一个服务器上存储了很多信息,你使用docs.example.com来访问这些资源,但是你还想通过documents.example.com来访问这些资源,那么你可以添加一条CNAME记录到您的DNS解析服务提供商,并将documents.example.com指向docs.example.com。添加这条CNAME记录后,所有访问documents.example.com的请求都会被转发到docs.example.com,你可以得到相同的内容。CNAME域名接入CDN时,在CDN提供商控制台添加加速域名后,您将获得CDN为您分配的CNAME域名。你需要给你的DNS解析服务商添加一条CNAME记录,让你的加速域名指向这个CNAME域名,这样所有对这个域名的请求都会被转到CDN节点,从而达到加速的效果。DNSDNS全称DomainNameSystem,意思是域名解析服务。它在互联网上的作用是将域名转换成网络可以识别的IP地址。人们习惯于记住域名,但机器只能识别IP地址。域名和IP地址是一一对应的。它们之间的转换工作称为域名解析。域名解析需要有专门的域名解析服务器来完成。该过程是自动的。例如:上网时输入的www.baidu.com会自动转换为220.181.112.143。常见的DNS解析服务商有:阿里云解析、万网解析、DNSPod、信网解析、Route53(AWS)、Dyn、Cloudflare等回源主机回源主机:回源主机确定回源请求访问的源站具体站点。?例1:源站为域名。源站为www.a.com,回源主机为www.b.com。那么实际回源就是请求www.a.com解析的IP,www.b.com对应主机上的站点例2:源站点是IP源站点是1.1.1.1,而回源主机是www.b.com,那么实际回源就是1.1.1.1对应的主机上的网站www.b.com?Protocol回源是指协议回源时使用的与客户端访问资源使用的协议一致,即如果客户端使用HTTPS请求资源,当CDN节点上没有缓存资源时,节点会使用相同的HTTPS方式返回源头获取资源;同理,如果客户端使用HTTP协议请求,则CDN节点回源时也使用HTTP协议。近期热点文章推荐:1.1000+Java面试题及答案(2022最新版)2.厉害了!Java协程来了。..3.SpringBoot2.x教程,太全面了!4.不要用爆破爆满画面,试试装饰者模式,这才是优雅的方式!!5.《Java开发手册(嵩山版)》最新发布,赶快下载吧!感觉不错,别忘了点赞+转发!
