More Related Content
Similar to 吴岷 视频Cdn分发、调度与服务的探讨
Similar to 吴岷 视频Cdn分发、调度与服务的探讨 (20)
吴岷 视频Cdn分发、调度与服务的探讨
- 2. Content Delivery Network
注服务类似土豆网的视频文件的CDN
– 支持UGC内容,视频数量庞大
– 截至2012年8月,7000万视频
主要 注三个方面:
– 文件同步:文件如何移动
– 访问调度:如何 定用户最终的访问
– Web服务:web server最终如何从把文件吐给用
- 3. 目录
• 视频CDN
– 用图片CDN服务视频文件可能遇到的问题
– 视频同步
– 访问调度
– Web服务
• 土豆的做法
– 视频同步
– 访问调度
- 5. 土豆图片CDN
①
Client
DNS
②
边缘节点1 LB设备
③
边缘服 边缘服 边缘服
务器1 务器2 务器3
④
源站
- 6. 视频在图片CDN上的问题
• 每个机房的带宽相对总量
①
Client 较小,且富余量小,容易
DNS
满
②
• ②的带宽质量对于用户体
边缘节点1 LB设备
验影响大,运营要求调度
③
更 活
边缘服 边缘服 边缘服
务器1 务器2 务器3 • 如果边缘节点的命中率
低,总是要回源去拿文
④ 件,那么:
源站 – ④的带宽被浪费
- 12. push模式 分析
• Push模式特点
– 要主动同步/删除文件
– 调度必须知道缘节点存在 些文件
• 优点
– 不要求边缘节点有 高的命中率
– 不要求回源带宽,不要求节点大小,可以带宽/机房
选择 活性大
• 缺点
- 17. 土豆的做法
• 中心控制
– 中心服务器知道所有文件的位置
– 中心服务器知道所有机房/服务器/硬盘的状态
– 文件同步和删除都由中心服务器控制
• 同步采用PUSH模式
• 实时调度
• 自行 发web服务器
– 优化IO
- 21. 实时调度系统 – 数据
视频文件分
用户的请求
布数据 同步系统
求信
用户请
用户 IP 息
http://.../video.flv
实时调度系统 给出用户最合适的
URL
视频ID
当前CDN的 策略
状态
- 22. 实时调度系统 – 实现
• 高峰期压力:10000+/s
• 实时收集每个节点的带宽,动态调度每个播
放请求,实时计算,不缓存
• 丢弃数据库,丢弃memcached
• 数据横向Partition,共享内存多实例
• 数据、计算和策略分
- 23. 实时调度系统 – 系统结构
• 数据单元负责提供调度时的数据。
数据 数据
数据被加载到内存中,做横向 单元 单元
partition,数据量庞大;需求最稳
定,重启代价大
• 计算单元直接接收用户端发来的调 计算 计算 计算
度请求,从数据单元获取数据,通
过计算(过滤、排序)把播放链接
返回给用户。计算负责,需求相对
策略单元
稳定;无状态,重启代价小
• 策略单元向计算单元提供策略,不
接收用户请求,计算量很小,但逻
辑相对 杂且策略多变,重启无代
价
- 28. 土豆的做法
网络 磁盘
send(fd) buffer read(fd)
epoll 调度
• 使用read/send来读磁盘和发送数据,增加单次read读取大小
• 自己实现对读磁盘操作的调度
– 针对硬盘做调度优化
– 针对网络层buffer中的不同链接数据量的差 做调度优化
– 生产者(读磁盘)消费者(写网络)模型
• 当消费者队列满时,挂起生产者
• 当消费者队列空时,提高生产者优先级
• 合并Web服务器和同步下载器
– 统一读写队列
- 30. 土豆做法的缺点
• 杂
– 同步系统要管copy,还要管删除
– 调度器要知道所有文件的位置,单次调度计算量
大