CDN基于这样的原理:1.挑选最优设备为用户提供服务;
2.如果某个内容被很多用户所需要,他就被缓存到距离用户最近的节点中。
CDN公司在整个互联网上部署数以百计的CDN服务器(Cache),这些服务器通常在运营商的IDC中,尽量靠近接入网络和用户。
CDN在Cache中复制内容,当内容的提供者更新内容时,CDN向Cache重新分发这些被刷新的内容。
CDN提供一种机制,当用户请求内容时,该内容能够由以最快速度交付的Cache来向用户提供,这个挑选“最优”的过程就是负载均衡。
被选中的最优Cache可能靠近用户,或者有一条与用户之间条件最好的路径。
-----------------------------------------------------------------------------------------------------------------------------------------
功能上划分:
分发服务系统
典型的CDN系统架构 负载均衡系统
运营管理系统
1)分发服务系统:
主要作用:实现将内容从内容源中心向边缘的推送和存储,承担实际的内容数据流的全网分发工作和面向最终用户的数据请求服务。
a)最基本的工作单元:许许多多的Cache设备(缓存服务器)。
b)Cache负责:
1.直接响应最终用户的访问请求,把缓存在本地的内容快速的提供给用户。
2.与源站点进行内容同步,把更新的内容以及本地没有的内容从源站点获取并保存在本地。
c)根据承载内容类型和服务种类的不同.
分发服务系统会分为多个子服务系统如:网页加速子系统,流媒体加速子系统,应用加速子系统等。
d)每个子服务系统都是一个分布式服务集群,有一群功能近似的、在地理位置上分布部署的Cache或Cache集群组成,彼此间相互独立。
每个子服务系统设备集群的数量根据业务发展和市场需要的不同,少则几十台,多则上万台,对外形成一个整体,共同承担分发服务工作。
Cache设备的数量、规模、总服务能力是衡量一个CDN系统能力的最基本的指标。
概述:分发服务系统,承担内容的更新、同步、和响应用户需求的同时,还需要向上层的调度系统提供每个Cache设备的健康状况信息、响应情况,有时还需要提供内容分布信息,以便调度控制系统根据设定的策略决定由那个Cache(组)来响应用户的请求最优。
2)负载均衡系统(CDN系统的神经中枢):
主要功能:负责对所有发起服务请求的用户进行访问调度,确定提供给用户的最终实际访问地址。
a)大多数CDN系统的负载均衡系统是分级实现的,这里以最基本的两级调度体系进行简约说明。
一般而言,两级调度体系分为全局负载均衡(GSLB)和本地负载均衡(SLB)。
b)全局负载均衡(GSLB)主要根据用户就近性原则,通过对每个服务节点进行“最优”判断,确定向用户提供服务的Cache的物理位置。
最通用的GSLB实现方法是基于DNS解析的方式实现,也有一些系统采用了应用层重定向等方式来解决。
c)本地负载均衡(SLB)主要负责节点内部的设备负载均衡,当用户请求从GSLB调度到SLB时,SLB会根据节点内各Cache设备的实际能力或内容分布等因素对用户进行重定向,常用的本地负载均衡方法有基于4层调度、基于7层调度、链路负载调度等。
3)运营管理系统:
分为运营管理和网络管理两个子系统。
a)运营管理子系统是CDN系统的业务管理功能实体,负责处理业务层面的与外界系统交互所必需的一些收集、整理、交付工作,
包含客户管理、产品管理、计费管理、统计分析等功能。
1'客户管理指对使用CDN业务的客户进行基本信息和业务规则信息的管理,作为CDN服务提供的依据。
2'产品管理指CDN对外提供的具体产品包属性描述、产品生命周期管理、产品审核、客户产品状态变更等。
3'计费管理指在对客户使用CDN资源情况的记录的基础上,按照预先设定的计费规则完成击计费并输出账单。
4'统计分析模块负责从服务模块收集日常运营分析和客户报表所需数据,包含资源使用情况、内容访问情况、各种排名、用户在线情况等数据统计 和分析,形成报表提供给网管人员和CDN产品使用者。
b)网络管理子系统实现对CDN系统的网络设备管理、拓扑管理、链路监控和故障管理,为管理员提供对全网资源进行集中化管理操作的界面,通常是基于Web方式实现的。