CDN即内容分发网络,一般包括分发服务系统,负载均衡系统和管理系统。
分发服务系统,其基本的工作单元就是各个cache服务器。负责直接响应用户请求,将内容快速分发到用户;同时还负责内容更新,保证和源站内容同步。根据内容类型和服务种类的不同,分发服务系统分为多个子服务系统,如:网页加速服务、流媒体加速服务、应用加速服务等。每个子服务系统都是一个分布式的服务集群,由功能类似、地域接近的分布部署的cache集群组成。
在承担内容同步、更新和响应用户请求之外,分发服务系统还需要向上层的管理调度系统反馈各个cache设备的健康状况、相应情况、内容缓存状况等,以便管理调度系统能够根据设定的策略决定由哪个cache设备来响应用户的请求。
负载均衡系统,是整个CDN系统的中枢。负责对所有的用户请求进行调度,确定提供给用户的最终访问地址。使用分级实现。最基本的两极调度体系包括全局负载均衡(GSLB)和本地负载均衡(SLB)。
GSLB根据用户地址和用户请求的内容,主要是根据就近原则,确定向用户服务的节点。一般通过DNS解析或应用层重定向(HTTP 3XX重定向)的方式实现。
SLB主要负责节点内部的负载均衡。当用户请求从GSLB调度到SLB时,SLB会根据节点内各个cache设备的工作情况和内容分布情况等对用户请求重定向。SLB的实现由四层调度(LVS)、七层调度(Nginx)和链路负载调度等。
管理系统,分为运营管理和网络管理子系统。
运营管理是对CDN系统的业务管理,负责处理业务层与外界系统交互所必须的一些收集、整理、交付工作。包括用户管理、产品管理、计费管理、统计分析等。
网络管理系统实现对CDN系统的设备管理】拓扑管理、链路监控和故障管理,为管理员提供对全网资源的可视化的集中管理,通常用web方式实现。