优酷土豆流媒体架构师宋慎义 - 为全民直播量身定做流媒体平台
2020-02-27 57浏览
- 1.为互动直播量身定做流媒体服务 songshenyi@alibaba-‐inc.com 2016.10
- 2.流媒体传输 • 简单 • 够用 • 可扩展 推流 Upload Origin Edge 播放 上传调度 调度中心 播放调度
- 3.挑战 • 运维 • 运维一定要基于服务质量评估和统计的结果 • 监控 • 服务质量评估 • 数据统计 • 直播体验、移动端 • 秒开、低延迟、P2P、多封装格式、编码器不同、硬编、软编 • 转码 • 录制、点播、截图 • 调度GSLB • 全网部署、负载均衡 • 连麦、SDK • 带宽成本
- 4.调度 • 并发、流量管理 • 调度监控 • SLA • 容灾恢复 • 服务降级 • GSLB • DNS • REST API • HTTP 302 • 调度中心 • 分布式 • 高内聚、低耦合 • RPC+MQ 推流 单线机房 Upload 多线机房 Origin 商业 CDN 单线机房 Edge GSLB 调度中心 GSLB 播放 播放
- 5.衍生业务 • 转码 • 多清晰度 • 多种格式 • 录制 • 截图 • 鉴黄、监控 • 头像 • 业务方隔离 • 重点服务保障 • 鉴权 • 防盗链 • 高防 推流 Upload Origin GSLB 转码 调度中心 录制 Aliyun OSS 点播 截图 Aliyun OSS 鉴黄
- 6.实时通信 • 公共互联网并不是为实时通信设计的 • TCP并不是为低延迟设计的 • Webrtc • 延迟 • 延迟是硬件相关的 Client • 网络QoS、丢包、抖动 • 带宽不足; 编码控制 • 随机丢包: Flexible-‐FEC • 瞬时丢包: FB-‐NACK • 长时间丢包: 及时发现 • 体验优化: 音视频补偿、回声消除 • MCU音视频合并 Client MCU Client Client CDN
- 7.服务化改造 • 核心是调度系统服务化 • 目标是分布式服务发现 • 本质是垂直规模到水平规模 Redis/Database 调度 调度 服务注册 StreamS 服务发现 erver 服务发现中 心 GSLB MCU 截图 录制
- 8.服务质量 • 故障监控 • 用户反馈模糊 • 用户区分困难 • 问题不好复现 • 质量评估 • 数据定义 • 简单、正交、可区分 • 评估工具 • 数据统计 上传客户端 播放客户端 CDN 转码 GSLB 录制 调度中心 MCU AccessLog/syslog-‐ng/LogStash … Kafka Storm UI
- 9.反思 • 小团队如何实现流媒体服务 • 真正的难点是什么 • 如何看待商业CDN • 如何看待开源软件 • 流媒体服务与其他互联网服务的异同 • 高并发、高可用 • 无状态 vs 有状态
- 10.