淘宝CDN全局流量调度算法介绍

淘宝CDN全局流量调度算法介绍 
原文地址:别墅防盗报警系统/blog/cs/?p=315
作者:马云的子弟
摘要
本文主要介绍了CDN全局流量调度系统。首先给出了全局流量调度系统的基本流程和设计目标,然后简述了现有的流量调度系统的工作原理和方式,重点阐述了三种新开发的全局流量调度算法:基于负载能力的调度算法、基于链路的调度算法和基于成本的调度算法。
一、流量调度的基本流程
目前CDN系统流量调度是通过DNSir测试解析来实现的,其基本原理如下图1所示。
用户想要访问某个图片的url,分为四步:
1、用户来自某个区域(如modbus网关模块Beijing TelCom)的用户,想访问特定Url(如/001.jpg),应该去哪个IP地址访问
2TGTM根据链路信息、成本信息或节点负载信息等因素,决定让该区域的用户访问CDN 1节点
3、用户根据DNS解析返回的IP地址访问CDN 1节点,并请求该图片的内容
4CDN1节点接收并处理用户的请求,然后将客户请求的图片返回
上面的流程是在用户的浏览器或者LDNS(Local DNS)没有对DNS解析结果进行缓存的情况下的流程,对于有缓存的系统,浏览器会从缓存中取到域名解析结果,因此流量调度策略无法影响已经缓存了DNS解析结果的用户请求,这部分请求对应的访问流量并不受调度系统的指挥,这对流量调度系统有一定的影响。
二、调度目标
CDN系统目前承载者淘宝网大约90%的流量,全局流量调度系统需要解决的问题是如何将如此大的访问流量合理分配到分布在各地的CDN边缘节点。
对于全局流量调度系统而言,设计目标有两个:
(1)提升用户体验
(2)节约系统成本
这两个目标本身都包含很多的方面,但提取其最核心的要求,分别对应
(1)降低用户访问CDN节点的延迟
(2)降低CDN节点的带宽成本
本文的内容就是围绕这两个目标来介绍的。
三、现有调度策略介绍
现有的CDN全局流量调度是通过商用的F5 BigIP GTM(以前称为3DNS)来实现的。F5的系统提供了Round Robin12种局域负载均衡算法和Global Availability15种广域负载均衡算法,其中这些负载均衡算法按照调度策略是静态配置还是动态生成的分为静态调度方法和动态调度算法。具体的内容参考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
用于管理从废棉RegionPool之间的映射关系
topology {
// server ldns score
pool.”img01_WangSu_pool” user.”CDN_WangSu” 900
pool.”img02_WangSu_pool” user.”CDN_WangSu” 900
pool.”img03_WangSu_pool” user.”CDN_WangSu” 900
pool.”img04_WangSu_pool” user.”CDN_WangSu” 900
pool.”img01_guangdongtel_pool” user.” TB_CDN_GZ_1_MB ” 900
pool.”img02_guangdongtel_pool” user.” TB_CDN_GZ_1_MB ” 900
}
WideIP
客户在使用CDN服务后将域名CNAMECDN服务提供商的域名如是用户的域名,在使用CDN服务后会CNAMEimage.,后者就被称为wideip
wideip {
name “img02.”
pool_lbmode topology
partition “Common”
last resort
pool “img02_tel_pool”
pool “img02_southcnc_pool”
pool “img02_northcnc_pool
}
Pool
wideip服务的一组VIPCNAME的集合
pool {
name “img02_southcnc_pool”
ttl 300
monitor all “tcp”
preferred rr
侧翻手机partition “Common”
member 218.108.237.202:80
member 218.108.237.212:80
}
member
Pool调度的基本元素,在CDN系统中,member用于表示一个CDN节点
member 218.108.237.202:80
VIP
Virtual IP 配置在四层交换上的公网IP和端口的组合,通过地址映射对应四层交换后一台或多台内网设备如果没有四层交换,可以借指设备上直接配置的公网IP和端口的组合与member元素相对应
3.2 基本对象之间的关系
上述基本对象的关系如下图所示
WideIP概念

本文发布于:2024-09-21 17:50:35,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/98271.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:调度   流量   系统
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议