CDN功能技术自1998年诞生以来,伴随着互联网的高速发展,其技术一直在持续演进和完善,但基本的CDN功能架构在2003年左右就已基本形成和稳定下来。从功能上划分,典型的CDN系统架构由分发服务系统、负载均衡系统和运营管理系统三大部分组成,更多相关知识:
http://www.zhengdaole.com/。
首先,来看看 分发服务系统 。该系统的主要作用是实现将内容从内容源中心向边缘的推送和存储,承担实际的内容数据流的全网分发工作和面向最终用户的数据请求服务。分发服务系统最基本的工作单元就是许许多多的Cache设备(缓存服务器),
CDN功能直接响应最终用户的访问请求,把缓存在本地的内容快速地提供给用户。同时Cache还负责与源站点进行内容同步,把更新的内容以及本地没有的内容从源站点获取并保存在本地,如果开展ISP业务,需要了解
ATM 交换机。
一般来说,根据承载内容类型和服务种类的不同,分发服务系统会分为多个子服务系统,如网页加速子系统、流媒体加速子系统、应用加速子系统等。每个子服务系统都是一个分布式服务集群,由一群功能近似的、在地理位置上分布部署的Cache或Cache集群组成,彼此间相互独立。CDN功能每个子服务系统设备集群的数量根据业务发展和市场需要的不同,少则几十台,多则可达上万台,对外形成一个整体,共同承担分发服务工作。Cache设备的数量、规模、总服务能力是衡量一个CDN功能服务能力的最基本的指标。
对于分发服务系统,在承担内容的更新、同步和响应用户需求的同时,还需要向上层的调度控制系统提供每个Cache设备的健康状况信息、响应情况,有时还需要提供内容分布信息,以便调度控制系统根据设定的策略决定由哪个Cache(组)来响应用户的请求最优。
负载均衡系统 是一个CDN功能的神经中枢,主要功能是负责对所有发起服务请求的用户进行访问调度,确定提供给用户的最终实际访问地址。大多数CDN系统的负载均衡系统是分级实现的,这里以最基本的两级调度体系进行简要说明。一般而言,两级调度体系分为全局负载均衡(GSLB)和本地负载均衡(SLB)。其中,全局负载均衡(GSLB)主要根据用户就近性原则,通过对每个服务节点进行“最优”判断,确定向用户提供服务的Cache的物理位置。
最通用的GSLB实现方法是基于DNS解析的方式实现,也有一些系统采用了应用层重定向等方式来解决,关于GSLB的原理和实现方法将在本书第5章进行讲解。本地负载均衡(SLB)主要负责节点内部的设备负载均衡,当用户请求从GSLB调度到SLB时,SLB会根据节点内各Cache设备的实际能力或内容分布等因素对用户进行重定向,常用的本地负载均衡方法有基于4层调度、基于7层调度、链路负载调度等,具体的内容在本书第4章进行讲解。