CC视频CTO栗伟:CDN系统架构及CC视频应用实践
2017 年 11 月9日,CC视频获2.08 亿元C轮融资。 EGO 北京分会会员、CC视频CTO栗伟获邀作为 EGO 线上分享第三季嘉宾,与大家交流了CDN系统架构及CC 视频的应用实践。
\\
技术出身的栗伟曾在中科院计算机技术研究所和蓝讯公司从事多年网络存储和CDN技术等工作,2014年加入CC视频,在CDN和视频编解码技术方向颇多建树。
\\
作为一站式场景化视频解决方案服务商,CC视频在经历12年企业级视频云服务的探索,已经拥有了视频云点播、云直播、云加速、云互动的完整产品线,为整个视频领域提供全方位服务。在线教育领域的大型企业大多都是CC视频的重度用户。凭借领先的云计算技术和专业的视频处理经验,CC视频已经积累了包括新东方、好未来华图、新东方、达内、尚德、清华大学、万国、学堂在线、宝宝树、好医生、海马玩、蚂蜂窝、SMG集团、36氪、财新网、凤凰网、上海通用、唱吧、广联达等18000+众多知名企事业单位的首选合作品牌。
\\
作为CDN架构的专家,栗伟首先向大家介绍了基于DNS解析的CDN工作原理。通过利用DNS的CNAME特性和CDN的回源原理,CDN厂商实现了用户流量的调度,同时也解决了内容缓存和源站保护的问题。
\\
CDN的系统架构
\\
栗伟认为,一个完整的CDN系统应包含几大系统:用户服务系统、运营支撑系统、流量调度系统、边缘服务系统、业务支撑系统、综合监控系统和基础服务支撑平台。
\\
基于DNS智能调度的流量调度系统相当于CDN的大脑。一个合格的流量调度系统需要达成几个目标:一个是保障服务质量,能够将用户请求调度到离用户最近最优的节点,第二个是合理调度,提高资源的利用率。栗伟强调,流量调度系统是衡量一个CDN企业好坏的重要标准。
\\
边缘服务系统真正响应用户的HTTP或HTTPS请求,它和服务质量密切相关。一个边缘服务系统应该分成以下几个层次:一个是在7层,或者是在4层做一个负载均衡系统;第二个是Cache的缓存模块。
\\
栗伟指出,目前业界比较成熟的边缘服务系统架构是使用LVS做4层负载均衡给用户提供服务,再通过Haproxy/Nginx做7层负载均衡,最终把用户请求定位到Cache缓存模块,在Cache缓存模块上提供服务。企业用户经常会有频繁的定制化需求,因此Cache的功能开发非常频繁,而其本身的代码复杂度较高,部署面积较大,导致整个系统的稳定性面临很大挑战。
\\
运营支撑系统跟整个运营相关,它包括运营资源、运营调度的管理,比如设备管理、DNS跟设备的对应关系、内容刷新、日志处理、以及文件的分发处理等。
\\
CDN会缓存部分用户内容,在缓存时间内出现变更,就需要回源校验和内容刷新。在这一过程中,刷新全网更新时间和刷系统处理能力都是整个刷新系统的重要指标。栗伟指出,每日刷新系统处理能力至少要在一千万条以上才能应对大客户的刷新要求。在日志处理和文件分发方面,日志的全网收集、压缩处理、同步分发、区域提供、日志分析等,也都要求CDN公司必须具备极强的处理能力。
\\
对于一个中型的CDN系统来说,监控系统也非常重要。如何在一个拥有上万台服务器的CDN上,及时发现设备级别或节点层面的服务器故障都和监控系统息息相关。栗伟指出,一个合格的监控系统应支持多层次的告警策略,包括设备层级告警、节点层级告警、业务层级告警乃至整个服务系统层级的告警。把这些告警通过图形化的形式显示出来,能够准确看到全网CDN的服务情况。
\\
为什么还需要基础支撑平台?栗伟介绍,基础支撑平台在底层进行基于CentOS优化裁剪、TCP协议栈优化,并在OS上安装一组应用软件,从而为应用软件提供管理接口和分发接口,支撑设备管理、日志管理和收集,从而方便统一部署和运维。
\\
CDN产品及作用
\\
使用CDN可以达到怎样的效果?栗总从三个方向表达了自己的观点。
\\
- 全业务加速,包括HTTP的访问加速,下载加速、点播加速和直播加速等。视频内容、下载内容均可通过CDN进行分发、承载和加速。\\t
- 降低成本。对于流量成本较高的企业,CDN可显著降低带宽成本,降低支撑运维建设成本和维护成本。\\t
- 安全运营。CDN使得整个运营更平稳,网络攻击和网络风险大幅降低,精准的分析、故障的恢复,也都是CDN产品所具备的价值。\
CC视频产品对CDN技术的应用
\\
CC视频的直播、点播产品使用的都是CC视频独立研发的CDN技术。
\\
直播方面,利用CDN自身的高承载能力的特性,CC视频将CDN作为直播系统的一个主要模块,所有直播流均推入CDN边缘服务系统,所有对于直播流的观看都通过CDN去做。同时,CC视频还提供第三方CDN接入服务,一旦CDN出现故障,可随时将直播流推送到第三方CDN,不会对直播产生影响。
\\
栗伟指出,CDN系统对整个直播承载能力的提升帮助非常大。CC视频曾测试,20万并发可平稳通过CDN,几乎不会对其直播产品造成压力。在这个架构中,关于数据库的同步也让CC视频引以为傲。CC提供了数据库内容的备份,一旦出现故障,可实时同步切换主节点和备节点的数据库,从而保证数据裤至少有两份数据,确保数据不丢失。
\\
点播架构同直播类似,也同时提供主、备节点,包含上传和转码两个子系统。CC视频对上传系统进行了诸多优化,在全国部署了三个BGP节点,包括北京、上海、深圳,基本覆盖全国,保证用户可就近上传。
\\
CC视频点播产品中的转码系统、存储系统、监控系统和统计系统也都在不同程度上运用了CDN技术,大容量存储设备与分布式文件系统架构结合搭建存储系统,基于open falcon二次开发实时监测磁盘级到应用层故障,大数据统计分析用户数据报表等。同时,点播的分发也采用了与第三方CDN相结合的方式。
\\
最后,栗伟还为大家分享了CDN的特殊用法,如使用HTTPS协议和CDN全站加速、动态内容穿透相结合来降低网络劫持、提高系统连通率等。目前CC视频的云直播、云点播、云互动产品都在使用CDN做动态内容穿透,效果明显。“CC视频将一如既往以匠心打造视频产品,欢迎各位朋友携手CC共赢美好未来。”他最后总结。
\\
关于 EGO
\\
联结杰出的技术领导者学习和成长,是 EGO 不变的使命。 EGO 目前已经汇聚了全国超过450 余位顶尖的技术领导者,包括喜马拉雅FM CTO陆栋栋、沪江 CTO唐小浙、易观CTO郭炜、货车帮CTO冯亮、爱范儿CTO何世友、TalkingData CTO 肖文峰、饿了么 CTO 张雪峰、GrowingIO CTO 叶玎玎、CC 视频 CTO 栗伟、启赟金融 CTO 马连浩、咿啦看书 CTO 褚亮等都是 EGO 的付费会员。
\\
EGO 会员招募季第三季正在进行,现在报名加入EGO 。
CC视频CTO栗伟:CDN系统架构及CC视频应用实践的更多相关文章
- 淘宝CDN系统架构
存储与架构分论坛上,淘宝网技术委员会主席,淘宝网核心工程师章文嵩向我们详细介绍了淘宝网图片处理与存储系统的架构.章文嵩博士的演 讲日程包括了 淘宝的整个系统架构.淘宝图片存储系统架构,淘宝网 ...
- TOP100summit2017:网易云通信与视频CTO赵加雨:外力推动下系统架构的4个变化趋势
壹佰案例:很荣幸邀请到您成为第六届壹佰案例峰会架构专场的联席主席,您曾深度参与Cisco Jabber,Webex Meeting, Cisco Spark等多项分布式实时通信类产品的架构与研发, ...
- [CDN]CDN的系统架构
---恢复内容开始--- 1.功能架构: CDN技术自1998年诞生以来,伴随着互联网的高速发展,其技术一直在持续演进和完善,但基本的CDN功能架构在2003年左右就已基本形成和稳定下来.从功能上划分 ...
- 从程序员到CTO的Java技术路线图 JAVA职业规划 JAVA职业发展路线图 系统后台框架图、前端工程师技能图 B2C电子商务基础系统架构解析
http://zz563143188.iteye.com/blog/1877266在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样 ...
- 大数据高并发系统架构实战方案(LVS负载均衡、Nginx、共享存储、海量数据、队列缓存)
课程简介: 随着互联网的发展,高并发.大数据量的网站要求越来越高.而这些高要求都是基础的技术和细节组合而成的.本课程就从实际案例出发给大家原景重现高并发架构常用技术点及详细演练. 通过该课程的学习,普 ...
- 汇总java生态圈常用技术框架、开源中间件,系统架构及经典案例等
转自:http://www.51testing.com/html/83/n-3718883.html 有人认为编程是一门技术活,要有一定的天赋,非天资聪慧者不能及也.非也,这是近几年,对于技术这碗饭有 ...
- EasyNVR H5流媒体服务器方案架构设计之视频能力平台
历经过程 阶段一:经历过传统安防开发过程的开发者都有一种感觉,就是各种业务交织,各个模块的开发扯皮,各种数据库连接冲突,这很让开发工作效率很低,而且会给整体的开发带来负面影响,更重要的是,耦合度太高, ...
- CDN技术之--流媒体CDN系统的组成
流媒体业务是一种对实时性.连续性.时序性要求非常高的业务,无论从带宽消耗上还是质量保障上来说,对best-effort的IP网络都是一个不小的冲击 –高带宽要求–高QoS要求–组播.广播要求(目前IP ...
- 第2-1-1章 FastDFS分布式文件服务背景及系统架构介绍
目录 1 背景 1.1 为什么需要分布式文件服务 1.1.1 单机时代 1.1.2 独立文件服务器 1.1.3 分布式文件系统 1.2 什么是FastDFS 2 系统架构 2.1 Tracker集群 ...
随机推荐
- pm2 开机启动egg项目
1.在服务器上安装PM2 npm install pm2 -g 2.对PM2进行更新 pm2 update 3.进入服务器中egg项目更目录,并新建server.js文件,并在其中写入以下代码 con ...
- 【Linux】Linux(一)Linux常用命令
一 命令行提示符 1.[root@localhost ~]# 当前登录用户@主机名:当前所在目录$ # 超级用户 $ 普通用户 当前所在目录:~ 用户家目录 管理员 /root 普通用户 /home ...
- shell脚本编程(ubantu)
项目 内容 这个作业属于那个课程 这里是链接 作业要求在哪里 这里是链接 学号-姓名 17041506-张政 作业学习目标 了解shell脚本的概念及使用:掌握shell脚本语言的基本语法:学习简单的 ...
- lr事务
事务:transaction(性能里面的定义:客户机对服务器发送请求,服务器做出反应的过程) 用于模拟用户的一个相对完整的业务操作过程:如登录,查询,交易等操作(每次http请求不会用来作为一个事务) ...
- 用Jenkins集成ios项目设置多scheme,同一代码自动输出多个环境包 实现便捷切换API环境
Jenkins 安装使用参考我的博客http://www.cnblogs.com/zhujin/p/9064820.html Xcode 配置:说明 一个schema 对应一套环境(如生产,测试),一 ...
- 使用原生js实现选项卡功能实例教程
选项卡是前端常见的基本功能,它是用多个标签页来区分不同内容,通过选择标签快速切换内容.学习本教程之前,读者需要具备html和css技能,同时需要有简单的javascript基础. 先来完成html部分 ...
- Kafka 2.5.0发布——弃用对Scala2.11的支持
近日Kafka发布了最新版本 2.5.0,增加了很多新功能: 下载地址:https://kafka.apache.org/downloads#2.5.0 对TLS 1.3的支持(默认为1.2) 引入用 ...
- python 3 的解释器
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:Yangtze PS:如有需要Python学习资料的小伙伴可以加点击下 ...
- L3 多层感知机
**本小节用到的数据下载 1.涉及语句 import d2lzh1981 as d2l 数据1 : d2lzh1981 链接:https://pan.baidu.com/s/1LyaZ84Q4M75G ...
- 微信小程序 —搜索框
wxSearch优雅的微信小程序搜索框 一.功能 支持自定义热门key 支持搜索历史 支持搜索建议 支持搜索历史(记录)缓存 二.使用 1.将wxSearch文件夹整个拷贝到根目录下 2.引入 // ...