组件名称 | 功能描述 |
分发服务系统 | 基本工作单元是各个Cache服务器,负责直接响应用户请求,将内容快速分发到用户;同时负责内容更新,保证和源站内容的同步,根据内容类型和服务种类的不同,分为多个子服务系统,如网页加速服务、流媒体加速服务、应用加速服务等,每个子服务系统都是一个分布式的服务集群,由功能类似、地域接近的分布部署的Cache集群组成。 |
负载均衡系统 | 整个CDN系统的中枢,负责对所有的用户请求进行调度,确定提供给用户的最终访问地址,使用分级实现,最基本的两级调度体系包括全局负载均衡(GSLB)和本地负载均衡(SLB),GSLB主要根据用户地址和用户请求的内容,根据就近性原则,确定向用户服务的节点;SLB主要负责节点内部的负载均衡,当用户请求从GSLB调度到SLB时,SLB会根据节点内各个Cache设备的工作状况和内容分布情况等对用户请求重定向。 |
管理系统 | 分为运营管理和网络管理子系统,网络管理系统实现对CDN系统的设备管理、拓扑管理、链路监控和故障管理,为管理员提供对全网资源的可视化集中管理,通常用web方式实现,运营管理是对CDN系统的业务管理,负责处理业务层面的与外界系统交互所必须的一些收集、整理、交付工作,包括用户管理、产品管理、计费管理、统计分析等。 |
层级 | 描述 |
边缘层 | 直接面向用户,负责给用户提供内容服务的Cache设备都部署在整个CDN网络的边缘位置,这些Cache设备通常缓存静态资源,如图片、视频、CSS和JavaScript文件等,以便快速响应用户的请求。 |
中心层 | 负责全局的管理和控制,同时也保存了最多的内容Cache,在边缘层设备未能命中Cache时,需要向中心层设备请求;而中心层未能命中时,则需要向源站请求,不同的CDN系统设计存在差异,中心层可能具备用户服务的能力,也可能只会向下一层提供服务。 |
区域层(可选) | 如果CDN系统比较庞大,边缘层向中心层请求内容太多,会造成中心层负载压力太大,需要在中心层和边缘层之间部署一个区域层,负责一个区域的管理和控制,也可以提供一些内容Cache供边缘层访问。 |
1、客户端用户从浏览器输入网址后回车,系统会查询本地hosts文件及DNS缓存信息,查找是否存在网址对应的IP解析记录,如果没有,则进入下一步。
2、如果客户端没有DNS缓存或hosts没有对应网址的域名解析记录,那么系统会把浏览器的解析请求交给客户端本地设置的DNS服务器地址解析(此DNS为LDNS,即Local DNS),如果LDNS服务器的本地缓存有对应的解析记录,就会直接返回IP地址;如果没有,LDNS会负责继续请求其他的DNS服务器。
3、LDNS会从DNS系统的“.”根开始请求网址的域名解析,经过一系列的查找各个层次DNS服务器,最终会查找到网址域名对应的授权DNS服务器,该服务器正是企业购买域名时用于管理域名解析的服务器,这个服务器有网址对应的IP解析记录,如果此时都没有,就表示企业的运维人员没有对网址域名做解析。
4、网址域名对应的授权DNS服务器会把网址对应的最终IP解析记录发给LDNS。
5、LDNS把收到来自授权DNS服务器关于网址对应的IP解析记录发给客户端浏览器,并且在LDNS本地把域名和IP的对应解析缓存起来,以便下一次更快地返回相同的解析请求的记录。
6、客户端浏览器获取到了网址的对应IP地址,接下来浏览器会请求获得的IP地址对应的Web服务器,Web服务器接收到客户的请求并响应处理,将客户请求的内容返回给客户端浏览器。
1、问题:CDN如何确保内容的安全性?
解答:CDN通过多种方式确保内容的安全性,它使用HTTPS协议来加密数据传输,防止数据在传输过程中被窃取或改动,CDN提供商通常会采取安全措施来保护其服务器免受反面攻击,如DDoS攻击等,CDN还支持访问控制列表(ACL)和防盗链等功能,以防止未经授权的访问和内容盗用。
2、问题:CDN是否适用于所有类型的网站?
解答:虽然CDN可以显著提高许多网站的性能和用户体验,但并不是所有类型的网站都能从中受益,对于小型个人博客或低流量的网站来说,使用CDN可能带来的性能提升并不明显,而且可能会增加不必要的成本,对于高流量、动态内容多或需要全球分发的大型网站来说,使用CDN是非常有益的。