Content Delivery Network,内容分发网络。
简介
依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能,使用户就近获取所需内容,提高用户访问响应速度和命中率。
举个简单的例子:让原本上海的浏览器要访问北京主站内容的请求,转而由部署在上海或其他地方的缓存来受理,这样请求的数据只需要经过很短的距离就能够到达请求端,有效利用带宽并降低主站压力。
工作原理
CDN网络一般分为中心节点和边缘节点
中心节点功能:监控边缘节点的情况(可用性,拥塞程度),全局负载均衡管理,与主站点进行数据同步
CDN工作原理:
未加CDN缓存的网站
用户在浏览器地址栏输入要访问的域名
浏览器解析域名得到对应的IP地址,再向此IP地址的服务器发出访问请求
浏览器根据服务器返回的东西显示网页内容
加CDN缓存的网站
用户在浏览器中输入要访问的域名
浏览器对域名解析,(CDN对域名解析过程进行了调整)得到该域名的CNAME记录,然后利用全局的负载均衡DNS解析得到实际的IP地址
浏览器在得到了实际的IP地址(缓存服务器的IP)后向缓存服务器发出访问请求
缓存服务器根据浏览器提供的要访问的域名通过DNS解析得到该域名对应的实际的IP地址,然后该缓存服务器向此实际IP地址提交访问请求
缓存服务器从实际IP地址得到内容后,进行两个操作:
将得到的内容保存到本地,以便以后使用
将获取的内容返回给客户端,完成数据服务过程
示例:
如图所示:
浏览器访问站点的步骤:
用户在浏览器的地址栏中输入www.web.com,然后回车,浏览器发现本地�没有DNS缓存,就向网站的DNS服务器请求
网站的DNS域名解析器设置了CNAME,指向了www.web.51cdn.com(CDN只能接职能负载均衡系统)
职能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返回给用户
浏览器向该IP节点发送请求
第一次访问的时候,CDN服务器请求原web站点,得到内容后一方面将得到的内容缓存到本地;另一方面将请求的结果返回给客户端(下次访问的时候,如果节点的缓存内容可用的话,就不会再请求原web站点了)
CND关键技术有:内容路由技术、内容分发技术、内容存储技术、内容管理技术
内容路由功能
CDN的负载均衡系统实现CDN的内容路由功能。CDN内容路由功能作用使用户请求到达CDN网络中的最佳节点
全局负载均衡主要目的是让用户的请求到达CDN网络中最近的节点
局部负载均衡 在特定的范围内寻找一台合适的节点提供服务(要考虑到节点的健康性、负载情况、支持的媒体格式等运行状态)
内容分发技术
内容分发技术主要是PUSH和PULL
PUSH是一种主动分发的技术,通常由内容管理系统发起,将内容从源或者中心媒体资源库发布到各个边缘的Cache节点(HTTP/FTP)
PULL 是一种被动的分发技术,当用户请求的内容不在请求所达到的边缘Cache的节点上时,该节点会从内容源或其他节点PULL下所需的内容(按需分发)
内容存储技术
内容源的存储
通常采用海量存储架构(内容的规模及吞吐量较大)
在Cache节点中的存储
Cache节点的存储要考虑:
功能上,对各种内容格式的支持、对部分缓存的支持
性能上,容量大小,吞吐率、可靠性及稳定性
内容管理技术
本地内容管理(对Cache节点而言)的目标是提高内容服务的效率,提高本地节点的存储利用率。
本地内容索引是实现基于内容感知调度的关键
本地内容的复制。通常为了提高存储的效率,同一个内容只在某个特定的节点中存储一份,当对该内容的访问超过这个节点的能力范围,就将该内容进行分发到其他节点上
本地内容访问状态的收集。搜集各个节点上各个内容访问的统计信息,节点可用服务能力及内容变化的情况