slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
视频 CDN 系统建设关键要点探讨 PowerPoint Presentation
Download Presentation
视频 CDN 系统建设关键要点探讨

Loading in 2 Seconds...

play fullscreen
1 / 32

视频 CDN 系统建设关键要点探讨 - PowerPoint PPT Presentation


  • 254 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '视频 CDN 系统建设关键要点探讨' - rahim-sampson


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

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

夏彦刚 乐视网-CDN技术专家2012年11月

slide2

1、硬件商务预算

2、文件分发系统3、智能调度系统4、WEB服务器

摘要

slide3

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

  • 案例简述:

网络视频是如今十分主流的应用,视频播放的流畅度和稳定性尤为重要。CDN系统在提升用户体验方面起着十分重要的作用,本案例主要是剖析视频CDN系统建设的主要要点:CDN系统的服务器带宽采购、文件分发、调度系统、WEB服务器等内容

b)设计目标:

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

  • 自建CDN的优点:

免受市场价格波动的困扰,有利于成本降低,且可控性较高

slide5

怎么做到的

主讲内容:

(1)商务预算

(2)文件分发

(3)调度系统

(4)WEB服务器

slide6

1.1 商务预算之带宽

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

  • 带宽需求

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

B.高清:800kbps*100,0000=800Gbps

  • 实际带宽

A.未来业务发展可能会需要更多带宽

B.需要20%—30%冗余带宽备用,应对突发流量

slide7

1.2 商务预算之服务器

  • 服务器数量

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

B.100,0000/1000=1000 1000台*并发连接1000

      • 服务器性能分析

A方案:硬件要求过高,成本过高

B方案:普通服务器可支持,单机1000连接,1G带宽

slide8

1.3 商务预算之IDC部署

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

部署原则:

1.用户分布密度

2.公司区域战略

slide9

2 文件分发系统要点

  • 分发模式比较:push/pull
  • CDN节点分类
  • 分层分发策略
  • 分发网络模型构建
  • 下载速度提升方案
  • 文件一致性保障
  • 分发状态记录
slide10

2.1 分发模式比较

我们的策略:PUSH+PULL,两种方式相结合,PUSH为主PULL为辅

slide11

2.2 CDN节点分类

(1)中心节点

  • 存储节点,磁盘空间足够,方便扩容
  • 分发的中心节点,最终源节点
  • 服务区域中心节点未命中的请求

(2)区域中心节点

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

(3)边缘节点

  • 就近部署,离用户最近;服务80%以上用户
  • 磁盘空间有限,仅存储热点内容

(4)第三方备用节点

  • 网宿、蓝汛、快网、帝联……
slide12

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

按层次生成分发任务:

取源节点选择:

  • 根据各个IDC机房之间的网络选择
  • 依据smokeping数据构建分发网络
slide14

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

smokeping特点:

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

2.5 下载速度提升方案

  • 多协议下载,如:UDP/http(s)/ftp/BitTorrent/Metalink
  • 多源分片下载,如:P2P/P2SP
  • 下载工具推荐:wget/curl/aria2
slide17

2.6 文件一致性保障

注意事项:

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

2.7 文件状态记录

记录目的:

(1)文件分发系统:需要知道哪些节点/服务器存在文件,从而决定文件如何在CDN节点之间复制;磁盘满时删除哪些文件

(2)CDN调度系统:可依据此信息进行“精准调度”,如只调度用户到存在文件的节点

记录方式:

(1)实时上报:文件下载完成后/删除前上报状态

(2)全量上报:扫描所有磁盘文件上报到中心系统

(3)内存数据库:如memcache/membase/Redis

slide19

3 智能调度系统

GSLB定义:

全局负载均衡系统(Global Server of Load Balance),将用户的请求重新引导到离用户最近的节点,即内容路由系统

系统要点:

  • 服务器数据采集
  • IP库收集与完善
  • 访问节点列表生成
  • 节点压力平衡方案
  • 业务层QOS保障
  • 防盗链方案
  • 服务部署方案
slide20

3.1 服务器数据采集

(1)存活状态信息

A.中心主动探测:如中心请求服务器的80端口,探测是否响应

B.服务器主动上报:通过UDP方式上报心跳

(2)压力数据

A.带宽(本机/交换机)

B.连接数

C.磁盘IO

D.其他:Load/CPU等

(3)服务监控数据

A.开源软件:cacti/nagios/zabbix

B.监控告警

slide21

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.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
slide22

3.3 访问节点列表生成

  • “线性规划”算法

解决问题:如何分配资源,使全局质量最优;开源项目glpk

  • 问题模型:

城市A B C 分别有用户 500 300 100 人

服务CDN节点 L M N 为他们提供服务

三个服务商的容量为 200 300 400

服务节点为三地提供服务的质量分别为

A L 90 M 80 N 70

B L 80 M 70 N 90

C L 70 M 80 N 90

求解:城市分别向各地分流多少人,才能使得服务质量最好

  • 条件:

A.资源:节点的容量能力:物理带宽/连接数

B.用户:每个地区的用户量,根据历史数据预判

C.质量表:每个地区的用户到每个节点的质量数据(历史)

slide23

3.3 访问节点列表生成

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

slide24

3.4 节点压力平衡方案

(1)节点之间压力平衡

A.节点分级调度B.节点容量放大

(2)节点内部压力平衡

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

3.5 业务层QOS保障

(1)业务分级

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

(2)用户分级

  • 国内用户/国外用户
  • 北上广深/重点用户
  • 直辖市/省会城市用户
  • 其他地区用户
slide26

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=977722fec1785025c04a3d39de509604

Md5key=MD5(user-agent,filename,videoid,time,privatekey)

slide27

3.7 服务部署方案

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

slide28

4 Web服务器

  • 三大WEB服务器对比分析(apache ,lighttpd,nginx)
    • http://bbs.phpchina.com/thread-204559-1-1.html
    • http://www.linuxany.com/archives/1368.html
  • 需要的功能
    • 视频文件下载
    • 视频拖放功能
    • 心跳数据上报
    • MISS消息转发
    • 防盗链模块
    • 其他功能:如直播,实时封装ts流
slide29

And

CDN系统:提供文件的分布式存储/访问,本身是一个大的分布式应用

(1)CDN节点:边缘节点分布在全国各地,已是分布式架构系统

(2)调度系统:全局负载均衡系统,是中心系统--考虑分布式

slide30

案例ROI分析

相关性(Relevance):

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

原创性(Originality):

CDN系统于1998年出现,是比较成熟的应用;国内大型的视频网站均有自建的CDN系统。商用系统如网宿、蓝汛等都十分成熟。虽然各家系统的实现原理基本相同,但是实现方案、细节并不透明;因此本系统里面部分内容具有原创性

震撼性(Impact):

著名的12306.cn网站如果没有CDN加速,将无法正常运行。因此CDN系统的重要性大家有目共睹

slide31

案例启示

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

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