CDN全局流量调度算法介绍

摘要

本文主要介绍了CDN全局流量调度系统。首先给出了全局流量调度系统的基本流程和设计目标,然后简述了现有的流量调度系统的工作原理和方式,重点阐述了三种新开发的全局流量调度算法:基于负载能力的调度算法、基于链路的调度算法和基于成本的调度算法。

一、流量调度的基本流程

目前CDN系统流量调度是通过DNS解析来实现的,其基本原理如下图1所示。
CDN全局流量调度流程示意图

用户想要访问某个图片的url,分为四步:

1、用户来自某个区域(如Beijing TelCom)的用户,想访问特定Url(如http://www.taobao.com/001.jpg),应该去哪个IP地址访问
2、TGTM根据链路信息、成本信息或节点负载信息等因素,决定让该区域的用户访问CDN 1节点
3、用户根据DNS解析返回的IP地址访问CDN 1节点,并请求该图片的内容
4、CDN1节点接收并处理用户的请求,然后将客户请求的图片返回

上面的流程是在用户的浏览器或者LDNS(Local DNS)没有对DNS解析结果进行缓存的情况下的流程,对于有缓存的系统,浏览器会从缓存中取到域名解析结果,因此流量调度策略无法影响已经缓存了DNS解析结果的用户请求,这部分请求对应的访问流量并不受调度系统的指挥,这对流量调度系统有一定的影响。

二、调度目标

CDN系统目前承载者淘宝网大约90%的流量,全局流量调度系统需要解决的问题是如何将如此大的访问流量合理分配到分布在各地的CDN边缘节点。

对于全局流量调度系统而言,设计目标有两个:

(1)提升用户体验
(2)节约系统成本

这两个目标本身都包含很多的方面,但提取其最核心的要求,分别对应

(1)降低用户访问CDN节点的延迟
(2)降低CDN节点的带宽成本

本文的内容就是围绕这两个目标来介绍的。

三、现有调度策略介绍

现有的CDN全局流量调度是通过商用的F5 BigIP GTM(以前称为3DNS)来实现的。F5的系统提供了Round Robin等12种局域负载均衡算法和Global Availability等15种广域负载均衡算法,其中这些负载均衡算法按照调度策略是静态配置还是动态生成的分为静态调度方法和动态调度算法。具体的内容参考F5网站上的相关文档 F5 Networks

目前淘宝CDN系统的流量调度采用的是Topology+ratio的策略,下面对该调度策略进行具体介绍。

3.1 基本概念介绍

下面的概念摘自百科上易统整理的文档GSLB概念介绍

  • CIDR

Classless InterDomain Routing ,是一种为解决地址耗尽,提高地址的利用效率而提出的一种措施 218.30.29.0/25 218.30.28.0/25 218.30.27.0/25 218.30.26.0/2

Region

一组CIDR组合后的名称,主要是为了配置和检索方便 region_db user { region { name “CDN_WangSu” “FujianTelcom” “GansuTelcom” “HainanNetcom } region { name “FujianTelcom” 218.85.157.0/24 220.162.0.0/16 211.148.224.0/19 220.160.0.0/15 }

Topology

用于管理从Region到Pool之间的映射关系
topology {
// server ldns score
pool.”img01_WangSu_pool” user.”CDN_WangSu” 900
pool.”img02_WangSu_p

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值