32
揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 视频 视频 视频 视频CDN CDN CDN CDN系统建设关键要点探讨 系统建设关键要点探讨 系统建设关键要点探讨 系统建设关键要点探讨 夏彦刚 乐视网-CDN技术专家 2012年11月

Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

Embed Size (px)

Citation preview

Page 1: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

视频视频视频视频CDNCDNCDNCDN系统建设关键要点探讨系统建设关键要点探讨系统建设关键要点探讨系统建设关键要点探讨夏彦刚 乐视网-CDN技术专家

2012年11月

Page 2: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

摘要

1、硬件商务预算2、文件分发系统3、智能调度系统4、WEB服务器

Page 3: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

视频CDN系统建设关键要点探讨

a)a)a)a)案例简述:网络视频是如今十分主流的应用,视频播放的流畅度和稳定性尤为重要。

CDN系统在提升用户体验方面起着十分重要的作用,本案例主要是剖析视频CDN系统建设的主要要点:CDN系统的服务器带宽采购、文件分发、调度系统、WEB服务器等内容

b) 设计目标:自建一套稳定高可用、效果出色、易于管理和维护的视频CDN系统,提升用户的视频播放体验,提升公司的行业知名度和竞争力

c)c)c)c)自建CDNCDNCDNCDN的优点:免受市场价格波动的困扰,有利于成本降低,且可控性较高

Page 4: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

行业分析

CDN服务商 代表企业 优势 劣势

专业CDN服务商 蓝汛、帝联等

进入市场较早,具有成熟的运营和服务能力

受制于运营商带宽费用制约

提供CDN服务的IDC运营商

网宿科技、世纪互联等

拥有带宽资源优势 需要添置大量的服务器、网络设备资源,成本高

电信运营商 中国电信、中国联通

拥有巨大的带宽和网络优势资本实力雄厚品牌优势

跨网络运营的问题难解决不是主营业务,运营经验和服务能力不强

自建CDN的互联

网企业优酷土豆、乐视网、奇艺网等

节约成本,可控性较高 投资大,成本高非核心业务,需要专业团队运营

国外CDN服务商 akamai、Limelight Networks等

资金雄厚,技术运营和服务能力强

存在安全隐患

Page 5: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

怎么做到的

主讲内容:(1)商务预算(2)文件分发(3)调度系统(4)WEB服务器

内容生成

内容管理

内容存储

内容分发

内容路由

内容服务 终端访问(视频播放)

调度系统

Cache节点(普通节点)

文件源(存储节点)

媒资管理系统

上传转码系统

Page 6: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

1.1 商务预算之带宽

系统容量:满足100100100100万人同时在线播放视频

带宽需求A.标清:350kbps*100,0000=350GbpsB.高清:800kbps*100,0000=800Gbps

实际带宽A.未来业务发展可能会需要更多带宽B.需要20%—30%冗余带宽备用,应对突发流量

Page 7: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

1.2 商务预算之服务器

服务器数量A.100,0000/100=10000 100台*并发连接10000B.100,0000/1000=1000 1000台*并发连接1000

服务器性能分析A方案:硬件要求过高,成本过高B方案:普通服务器可支持,单机1000连接,1G带宽

Page 8: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

1.3 商务预算之IDC部署

QQ用户实时在线分布图http://im.qq.com/online/index.shtml

部署原则:1.用户分布密度2.公司区域战略

Page 9: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

2 文件分发系统要点

① 分发模式比较:push/pull② CDN节点分类

③ 分层分发策略④ 分发网络模型构建⑤ 下载速度提升方案⑥ 文件一致性保障⑦ 分发状态记录

Page 10: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

2.1 分发模式比较

序号 功能点 PUSH模式(推) PULL模式(拉)

1 应用示例 土豆网、酷6网等 图片CDN系统

2 分发特点 智能分发、主动分发、提前预发布

被动分发、按需分发、最适合小文件

3 驱动方 分发管理中心系统 用户请求miss时

4 下载器 Agent/web服务器 Web服务器

5 节点文件量 节点只保存部分文件 每个节点均为全量节点

6 文件管理 需要上报分发状态 一般不需要状态

7 分发协议 HTTP/UDP,多线程,P2P (HTTP)Proxy取源

8 完整性 分片校验、整体校验 不校验我们的策略:PUSH+PULL,两种方式相结合,PUSH为主PULL为辅

Page 11: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

中心节点

区域中心节点

边缘节点

边缘节点

区域中心节点

边缘节点

边缘节点

边缘节点

中心节点

区域中心节点

边缘节点

边缘节点

区域中心节点

边缘节点

2.2 CDN节点分类

(1)中心节点�存储节点,磁盘空间足够,方便扩容

�分发的中心节点,最终源节点�服务区域中心节点未命中的请求

(2)区域中心节点�非全量文件,主要的分发源�服务边缘节点未命中的请求�具有较强的抗压能力,支持高并发访问�带宽充足,有SSD磁盘更好(高IO能力)

(3)边缘节点�就近部署,离用户最近;服务80%以上用户

�磁盘空间有限,仅存储热点内容(4)第三方备用节点

�网宿、蓝汛、快网、帝联……

Page 12: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

一级

• 中心节点•至少两份

二级

• 区域中心节点•最近节点•优先节点

三级

• 边缘节点•每节点只分发一份

四级

• 节点内分发•热点节点内多份

2.3 分层分发策略(按节点)

按层次生成分发任务:

取源节点选择:�根据各个IDC机房之间的网络选择�依据smokeping数据构建分发网络

Page 13: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

2.3 分层分发策略(按热度)

Page 14: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

2.4 分发网络模型构建(smokeping)

smokepingsmokepingsmokepingsmokeping特点:�Opensource(http://oss.oetiker.ch/smokeping/)�多种探测方式,包括fping、echoping、dig、curl等�易用可扩展的插件�master/slave的工作方式�有特色的alert设置

Page 15: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

2.4 分发网络模型构建(smokeping)

源节点 目标节点 延时[ms] 丢包率 探测时间

5001 820 0.239947 0.00% 2012-7-12 16:115001 122 14.79057 0.00% 2012-7-12 16:115001 826 33.16891 0.00% 2012-7-12 16:115001 19 126.6413 0.00% 2012-5-21 16:115001 151 19.98909 8.80% 2012-7-12 16:115001 176 205.1306 9.72% 2012-7-12 16:115001 731 286.8215 10.19% 2012-7-12 16:115001 36 31.08443 16.20% 2012-5-21 16:115001 124 29.99342 30.99% 2012-5-23 16:115001 11 157.7228 43.49% 2012-5-30 16:115001 154 82.40322 56.94% 2012-7-12 16:115001 171 14.6549 73.61% 2012-7-12 16:115001 163 10000 100.00% 2012-7-12 16:115001 180 10000 100.00% 2012-7-12 16:11

Page 16: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

2.5 下载速度提升方案

1.多协议下载,如:UDP/http(s)/ftp/BitTorrent/Metalink2.多源分片下载,如:P2P/P2SP3.下载工具推荐:wget/curl/aria2

Page 17: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

2.6 文件一致性保障

注意事项:A.必须进行完整性校验,如size/MD5校验

B.文件要及时回写磁盘,防止机器断电文件损坏C.定时进行对帐,校验文件的完整性,防止后期文件被篡改D.CDN节点过多,文件份数较多,修改文件容易导致不一致,建

议重命名文件E.记录已分发过的文件信息

Page 18: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

2.7 文件状态记录

记录目的:(1)文件分发系统:需要知道哪些节点/服务器存在文件,从而决定文件如何在CDN节点之间复制;磁盘满时删除哪些文件(2)CDN调度系统:可依据此信息进行“精准调度”,如只调度

用户到存在文件的节点

记录方式:(1)实时上报:文件下载完成后/删除前上报状态(2)全量上报:扫描所有磁盘文件上报到中心系统(3)内存数据库:如memcache/membase/Redis

Page 19: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

3 智能调度系统

GSLBGSLBGSLBGSLB定义:全局负载均衡系统(Global Server of Load Balance),将用户的

请求重新引导到离用户最近的节点,即内容路由系统

系统要点:①服务器数据采集②IP库收集与完善

③访问节点列表生成④节点压力平衡方案⑤业务层QOS保障

⑥防盗链方案⑦服务部署方案

Page 20: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

3.1 服务器数据采集

(1111)存活状态信息A.中心主动探测:如中心请求服务器的80端口,探测是否响应B.服务器主动上报:通过UDP方式上报心跳

(2222)压力数据A.带宽(本机/交换机)B.连接数C.磁盘IOD.其他:Load/CPU等

(3)(3)(3)(3)服务监控数据A.开源软件:cacti/nagios/zabbixB.监控告警

Page 21: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

3.2 IP库收集与完善

(1111)自建IPIPIPIP库管理系统A.IP导入:多格式支持,单IP导入,批量导入B.IP管理:IP冲突解决方案,IP库日常变更维护C.IP输出:多格式支持,如xml,接口,mysql表

(2222)推荐IPIPIPIP库�IP138:http://www.ip138.com/�GeoIP:http://www.maxmind.com�QQ纯真IP库�腾讯IP地址查询接口 http://fw.qq.com/ipaddress�新浪IP地址查询接口 http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js�搜狐IP地址查询接口 http://pv.sohu.com/cityjson�谷歌IP地址查询接口 http://j.maxmind.com/app/geoip.js

�淘宝IP地址查询接口 http://ip.taobao.com/service/getIpInfo.php?ip=ip地址字串

�乐视IP地址查询接口 http://g3.letv.cn/recommend?format=2

Page 22: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

3.3 访问节点列表生成

““““线性规划””””算法解决问题:如何分配资源,使全局质量最优;开源项目glpkglpkglpkglpk

问题模型:城市A B C 分别有用户 500 300 100 人服务CDN节点 L M N 为他们提供服务三个服务商的容量为 200 300 400服务节点为三地提供服务的质量分别为A L 90 M 80 N 70B L 80 M 70 N 90C L 70 M 80 N 90求解:城市分别向各地分流多少人,才能使得服务质量最好

条件: A.资源:节点的容量能力:物理带宽/连接数B.用户:每个地区的用户量,根据历史数据预判 C.质量表:每个地区的用户到每个节点的质量数据 (历史)

Page 23: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

3.3 访问节点列表生成

用户访问节点列表生成,内容路由表示例:

国家码 省ID 地区ID 运营商 服务节点列表[普通节点]

CN 1 19 2 706,706,706,705,700,730

CN 1 22 2 706,705,705,705,705,720,711

CN 1 5 1 807,820,810,812,841

CN 1 8 7 168,102,105,104,103

Page 24: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

3.4 节点压力平衡方案

(1111)节点之间压力平衡 A.节点分级调度 B.节点容量放大

(2222)节点内部压力平衡超热点文件:轮询调度,平衡压力(要求所有服务器均分发文件)其他文件:hash算法,节省磁盘空间。两种算法并存才合理

普通节点、区域中心节点

存储节点 第三方节点普通节点、区域中心

节点存储节点

第三方节点

Page 25: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

级别 请求数(滑动窗口) 分布比例 是否丢弃

1 100 12% --

2 120 14% --

3 150 18% --

4 140 16% --

5 0 0% --

6 130 15% --

7 100 12% drop

8 40 5% drop

9 20 2% drop

10 50 6% drop

3.5 业务层QOS保障

(1111)业务分级免费与付费终端类型:手机/盒子/TV/PC产品:广告/直播/站外码率:高清/标清

频道

(2222)用户分级国内用户/国外用户北上广深/重点用户直辖市/省会城市用户

其他地区用户

Page 26: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

3.6 防盗链方案

(1111)基于网站来源根据Referer/User-Agent/Host头信息,设置黑白名单

缺陷:此类信息经常变化、增加,会导致误杀用户

(2222)基于CookieCookieCookieCookie的防盗链缺陷:部分浏览器不支持cookie写入操作,安全限制不允许操作

(3333)基于URLURLURLURL和时间MD5MD5MD5MD5变化原理:将URL里面的关键字段MD5加密,同时加上URL过期时间限制。访问服务器时进行验证。可防止URL过期后使用,URL篡改等盗链URL示例: http://gslb.letv.com/video.mp4?videoid=1487447 &time=1351565894&md5key=977722fec1785025c04a3d39de509604Md5key=MD5(user-agent,filename,videoid,time,privatekey)

Page 27: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

3.7 服务部署方案

GSLB是全局调度,需要解决单点故障。通过DNS+LVS实现:

Page 28: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

4 Web服务器

�三大WEBWEBWEBWEB服务器对比分析(apache ,apache ,apache ,apache ,lighttpd,nginxlighttpd,nginxlighttpd,nginxlighttpd,nginx)•hhhhttp://bbs.phpchina.com/thread-204559-1-1.htmlttp://bbs.phpchina.com/thread-204559-1-1.htmlttp://bbs.phpchina.com/thread-204559-1-1.htmlttp://bbs.phpchina.com/thread-204559-1-1.html•hhhhttp://www.linuxany.com/archives/1368.htmlttp://www.linuxany.com/archives/1368.htmlttp://www.linuxany.com/archives/1368.htmlttp://www.linuxany.com/archives/1368.html

�需要的功能�视频文件下载�视频拖放功能�心跳数据上报�MISS消息转发

�防盗链模块�其他功能:如直播,实时封装ts流

Page 29: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

And

CDN系统:提供文件的分布式存储/访问,本身是一个大的分布式应用(1)CDN节点:边缘节点分布在全国各地,已是分布式架构系统(2)调度系统:全局负载均衡系统,是中心系统--考虑分布式

Page 30: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

案例ROI分析

相关性(Relevance):(Relevance):(Relevance):(Relevance):视频播放的流畅度直接影响用户体验,通过CDN系统加速,将大部分视频文

件(90%以上)提前放在离用户最近的IDC机房,解决大量数据在公网上的传输,从

而提升用户体验;此系统与用户体验相关性极高

原创性(Originality):(Originality):(Originality):(Originality):CDN系统于1998年出现,是比较成熟的应用;国内大型的视频网站均有自建

的CDN系统。商用系统如网宿、蓝汛等都十分成熟。虽然各家系统的实现原理基

本相同,但是实现方案、细节并不透明;因此本系统里面部分内容具有原创性

震撼性(Impact):(Impact):(Impact):(Impact):著名的12306.cn网站如果没有CDN加速,将无法正常运行。因此CDN系统的

重要性大家有目共睹

Page 31: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

案例启示

CDN系统是成熟的分布式应用,分布式即去中心化的思想。

现在较为流行的“云”概念,即广义上的分布式思想体现。

Page 32: Top100summit 夏彦刚-视频cdn系统建设关键要点探讨

2012-12-20