随着近年直播、视频、游戏、电商等大流量业务的高速增长,传统CDN也面对着与日俱增的进化压力,除了最开始的“引导”、“最近邻”等基础功能,“高可用”及“智能化”也成为了CDN加速亟待优化的问题。
今天三方将为您比较CDN的两种调度方式:传统CDN调度与基于HTTP协议的CDN调度。
一、传统CDN调度
1 基于DNS解析的调度
传统的CDN方案借助于DNS解析来进行调度,使用LocalDNS出口地址作为查询IP,根据查询IP对用户进行地域调度,但获取的可能不是用户真实的所在地址。按照错误的地址进行CDN调度,明显违背了CDN服务“引导”“临近”的初衷。
2 基于故障切换的调度
一套完备的CDN系统都会具备边缘服务节点故障切换机制,且同时满足人工切换和自动切换的要求。但无论何种故障切换,总归是产生故障后的补救措施,会造成CDN加速的服务质量波动,大大影响了CDN“可用”的服务重点。
3 基于边缘服务节点轮询的调度
CDN服务商通过架设权威DNS服务器,将某个域名在各个区域的对应边缘cache服务节点A记录集合提供给LocalDNS解析查询和缓存。
A记录集合最多可为13个,LocalDNS再从13个A记录里通过轮询挑选提供给URL访问用户,又或者全部提供给互联网的用户客户端,由客户端自行挑选。
这样的轮询机制带来的问题是:如果同一份互联网资源在每个服务节点都存储一份,那么有可能需要到源站进行13次缓存获取。
由此对互联网企业源站所造成的访问压力,带宽成本,以及随之出现的糟糕用户体验,也是需要CDN服务提供商考虑的地方。
二、基于HTTP的CDN调度
内容