32
揭揭揭揭揭揭揭揭揭揭 揭揭揭揭揭揭揭揭揭揭揭揭揭揭揭 揭揭揭揭揭揭揭揭揭揭揭揭揭揭揭揭揭揭揭 ,,! 视视 CDN 视 视视视视视视视视 揭揭 揭揭揭 -CDN 揭揭揭揭 2012 揭 11 揭

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

Embed Size (px)

DESCRIPTION

视频 CDN 系统建设关键要点探讨. 夏彦刚 乐视网 -CDN 技术专家 2012 年 11 月. 1 、硬件商务 预算 2 、 文件分发系统 3 、智能调度系统 4 、 WEB 服务器. 摘要. 视频 CDN 系统建设关键要点探讨. 案例简述 : 网络视频是如今十分主流的应用,视频播放的流畅度和稳定性尤为重要。 CDN 系统在提升用户体验方面起着十分重要的作用,本案例主要是剖析视频 CDN 系统建设的主要要点: CDN 系统的服务器带宽采购、文件分发、调度系统、 WEB 服务器等内容 b) 设计目标 : - PowerPoint PPT Presentation

Citation preview

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

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

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

2012 年 11 月

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

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

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

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

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

视频 CDN 系统建设关键要点探讨a) 案例简述:网络视频是如今十分主流的应用,视频播放的流畅度和稳定性尤为重要。 CDN 系统在提升用户体验方面起着十分重要的作用,本案例主要是剖析视频 CDN 系统建设的主要要点: CDN 系统的服务器带宽采购、文件分发、调度系统、 WEB 服务器等内容b)  设计目标:自建一套稳定高可用、效果出色、易于管理和维护的视频 CDN 系统,提升用 户的视频播放体验,提升公司的行业知名度和竞争力c) 自建 CDN 的优点:免受市场价格波动的困扰,有利于成本降低,且可控性较高

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

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

行业分析CDN 服务商 代表企业 优势 劣势专业 CDN 服务商

蓝汛、帝联等

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

受制于运营商带宽费用制约提供 CDN 服务的 IDC 运营商

网宿科技、世纪互联等

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

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

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

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

自建 CDN 的互联网企业

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

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

国外 CDN 服务商

akamai 、 Limelight Networks 等

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

存在安全隐患

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

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

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

内容生成内容管理内容存储内容分发内容路由内容服务终端访问 ( 视频播放 )

调度系统Cache 节点 ( 普通节点 )

文件源 ( 存储节点 )

媒资管理系统

上传转码系统

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

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

1.1 商务预算之带宽系统容量:满足 100万人同时在线播放视频• 带宽需求

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

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

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

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

1.2 商务预算之服务器• 服务器数量

A.100,0000/100=10000 100台 *并发连接10000

B.100,0000/1000=1000 1000台 *并发连接 1000• 服务器性能分析

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

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

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

1.3 商务预算之 IDC部署QQ 用户实时在线分布图 http://im.qq.com/online/index.shtml

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

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

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

2 文件分发系统要点① 分发模式比较: push/pull② CDN 节点分类③ 分层分发策略④ 分发网络模型构建⑤ 下载速度提升方案⑥ 文件一致性保障⑦ 分发状态记录

Page 10: 视频 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: 视频 CDN 系统建设关键要点探讨

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

中心节点

区域中心节点边缘节点边缘节点

区域中心节点边缘节点边缘节点边缘节点

中心节点区域中心节点

边缘节点边缘节点

区域中心节点 边缘节点

2.2 CDN 节点分类( 1 )中心节点

存储节点 ,磁盘空间足够,方便扩容分发的中心节点,最终源节点服务区域中心节点未命中的请求( 2 )区域中心节点非全量文件,主要的分发源服务边缘节点未命中的请求具有较强的抗压能力,支持高并发访问带宽充足,有 SSD磁盘更好 ( 高 IO 能力 )( 3 )边缘节点就近部署,离用户最近;服务 80%以上用户磁盘空间有限,仅存储热点内容( 4 )第三方备用节点网宿、蓝汛、快网、帝联……

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

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

一级• 中心节点• 至少两份

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

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

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

2.3 分层分发策略 (按节点 )按层次生成分发任务:

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

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

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

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

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

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

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

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

Page 15: 视频 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: 视频 CDN 系统建设关键要点探讨

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

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

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

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

2.6 文件一致性保障注意事项:A. 必须进行完整性校验,如 size/MD5校验B. 文件要及时回写磁盘,防止机器断电文件损坏C. 定时进行对帐,校验文件的完整性,防止后期文件被篡改D. CDN 节点过多,文件份数较多,修改文件容易导致不一致,建议重命名文件E. 记录已分发过的文件信息

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

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

2.7 文件状态记录记录目的:( 1 )文件分发系统:需要知道哪些节点 / 服务器存在文件,从而决定文件如何在 CDN 节点之间复制;磁盘满时删除哪些文件( 2 ) CDN 调度系统:可依据此信息进行“精准调度”,如只调度用户到存在文件的节点记录方式:( 1 )实时上报:文件下载完成后 /删除前上报状态( 2 )全量上报:扫描所有磁盘文件上报到中心系统( 3 )内存数据库:如 memcache/membase/Redis

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

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

3 智能调度系统GSLB 定义:全局负载均衡系统 (Global Server of Load Balance) ,将用户的请求重新引导到离用户最近的节点,即内容路由系统系统要点:① 服务器数据采集

② IP库收集与完善③ 访问节点列表生成④ 节点压力平衡方案⑤ 业务层 QOS保障⑥ 防盗链方案⑦ 服务部署方案

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

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

3.1 服务器数据采集( 1)存活状态信息

A. 中心主动探测:如中心请求服务器的 80 端口,探测是否响应B. 服务器主动上报:通过 UDP 方式上报心跳

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

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

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

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

3.2 IP库收集与完善( 1)自建 IP库管理系统

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

( 2 )推荐 IP 库IP138 : http://www.ip138.com/GeoIP : http://www.maxmind.comQQ纯真 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: 视频 CDN 系统建设关键要点探讨

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

3.3 访问节点列表生成• “ 线性规划”算法解决问题:如何分配资源,使全局质量最优;开源项目 glpk• 问题模型:城市 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: 视频 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: 视频 CDN 系统建设关键要点探讨

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

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

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

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

Page 25: 视频 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保障( 1)业务分级

– 免费与付费– 终端类型:手机 /盒子 /TV/PC– 产品:广告 /直播 /站外– 码率:高清 / 标清– 频道

( 2 )用户分级– 国内用户 / 国外用户– 北上广深 / 重点用户– 直辖市 /省会城市用户– 其他地区用户

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

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

3.6 防盗链方案( 1)基于网站来源根据 Referer/User-Agent/Host头信息,设置黑白名单缺陷:此类信息经常变化、增加,会导致误杀用户( 2)基于 Cookie的防盗链缺陷:部分浏览器不支持 cookie写入操作,安全限制不允许操作( 3)基于 URL和时间MD5 变化原理:将 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: 视频 CDN 系统建设关键要点探讨

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

3.7 服务部署方案GSLB 是全局调度,需要解决单点故障。通过 DNS+LVS 实现:

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

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

4 Web 服务器三大 WEB 服务器对比分析( apache ,lighttpd,nginx )

•http://bbs.phpchina.com/thread-204559-1-1.html•http://www.linuxany.com/archives/1368.html

需要的功能视频文件下载视频拖放功能心跳数据上报MISS消息转发防盗链模块其他功能:如直播 , 实时封装 ts 流

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

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

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

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

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

案例 ROI 分析相关性 (Relevance):视频播放的流畅度直接影响用户体验,通过 CDN 系统加速,将大部分视频文件 (90%以上 ) 提前放在离用户最近的 IDC机房,解决大量数据在公网上的传输,从而提升用户体验;此系统与用户体验相关性极高原创性 (Originality):

CDN 系统于 1998 年出现,是比较成熟的应用;国内大型的视频网站均有自建的 CDN 系统。商用系统如网宿、蓝汛等都十分成熟。虽然各家系统的实现原理基本相同,但是实现方案、细节并不透明;因此本系统里面部分内容具有原创性震撼性 (Impact):著名的 12306.cn 网站如果没有 CDN加速,将无法正常运行。因此 CDN系统的重要性大家有目共睹

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

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

案例启示CDN 系统是成熟的分布式应用,分布式即去中心化的思想。现在较为流行的“云”概念,即广义上的分布式思想体现。

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

www.top100summit.com

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