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可以达到怎样的效果?栗总从三个方向表达了自己的观点。

\\

  1. 全业务加速,包括HTTP的访问加速,下载加速、点播加速和直播加速等。视频内容、下载内容均可通过CDN进行分发、承载和加速。\\t
  2. 降低成本。对于流量成本较高的企业,CDN可显著降低带宽成本,降低支撑运维建设成本和维护成本。\\t
  3. 安全运营。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视频应用实践的更多相关文章

  1. 淘宝CDN系统架构

         存储与架构分论坛上,淘宝网技术委员会主席,淘宝网核心工程师章文嵩向我们详细介绍了淘宝网图片处理与存储系统的架构.章文嵩博士的演 讲日程包括了 淘宝的整个系统架构.淘宝图片存储系统架构,淘宝网 ...

  2. TOP100summit2017:网易云通信与视频CTO赵加雨:外力推动下系统架构的4个变化趋势

      壹佰案例:很荣幸邀请到您成为第六届壹佰案例峰会架构专场的联席主席,您曾深度参与Cisco Jabber,Webex Meeting, Cisco Spark等多项分布式实时通信类产品的架构与研发, ...

  3. [CDN]CDN的系统架构

    ---恢复内容开始--- 1.功能架构: CDN技术自1998年诞生以来,伴随着互联网的高速发展,其技术一直在持续演进和完善,但基本的CDN功能架构在2003年左右就已基本形成和稳定下来.从功能上划分 ...

  4. 从程序员到CTO的Java技术路线图 JAVA职业规划 JAVA职业发展路线图 系统后台框架图、前端工程师技能图 B2C电子商务基础系统架构解析

    http://zz563143188.iteye.com/blog/1877266在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样 ...

  5. 大数据高并发系统架构实战方案(LVS负载均衡、Nginx、共享存储、海量数据、队列缓存)

    课程简介: 随着互联网的发展,高并发.大数据量的网站要求越来越高.而这些高要求都是基础的技术和细节组合而成的.本课程就从实际案例出发给大家原景重现高并发架构常用技术点及详细演练. 通过该课程的学习,普 ...

  6. 汇总java生态圈常用技术框架、开源中间件,系统架构及经典案例等

    转自:http://www.51testing.com/html/83/n-3718883.html 有人认为编程是一门技术活,要有一定的天赋,非天资聪慧者不能及也.非也,这是近几年,对于技术这碗饭有 ...

  7. EasyNVR H5流媒体服务器方案架构设计之视频能力平台

    历经过程 阶段一:经历过传统安防开发过程的开发者都有一种感觉,就是各种业务交织,各个模块的开发扯皮,各种数据库连接冲突,这很让开发工作效率很低,而且会给整体的开发带来负面影响,更重要的是,耦合度太高, ...

  8. CDN技术之--流媒体CDN系统的组成

    流媒体业务是一种对实时性.连续性.时序性要求非常高的业务,无论从带宽消耗上还是质量保障上来说,对best-effort的IP网络都是一个不小的冲击 –高带宽要求–高QoS要求–组播.广播要求(目前IP ...

  9. 第2-1-1章 FastDFS分布式文件服务背景及系统架构介绍

    目录 1 背景 1.1 为什么需要分布式文件服务 1.1.1 单机时代 1.1.2 独立文件服务器 1.1.3 分布式文件系统 1.2 什么是FastDFS 2 系统架构 2.1 Tracker集群 ...

随机推荐

  1. C语言移动一个点

    #include"stdio.h"#include"windows.h"#include"conio.h"#define M 3#defin ...

  2. hadoop(十)hdfs上传删除文件(完全分布式七)|12

    集群测试 上传小文件到集群,随便选择一个小文件上传到hdfs的根目录 [shaozhiqi@hadoop102 hadoop-3.1.2]$ bin/hdfs dfs -put wcinput/wc. ...

  3. 彻底卸载----LoadRunner

    保证所有LoadRunner的相关进程(包括Controller.VuGen.Analysis和Agent Process)全部关闭: 备份好LoadRunner安装目录下测试脚本,这些脚本一般存放在 ...

  4. slice使用了解

    切片 什么是slice slice的创建使用 slice使用的一点规范 slice和数组的区别 slice的append是如何发生的 复制Slice和Map注意事项 什么是slice Go中的切片,是 ...

  5. 数据结构和算法(Golang实现)(16)常见数据结构-字典

    字典 我们翻阅书籍时,很多时候都要查找目录,然后定位到我们要的页数,比如我们查找某个英文单词时,会从英语字典里查看单词表目录,然后定位到词的那一页. 计算机中,也有这种需求. 一.字典 字典是存储键值 ...

  6. L20 梯度下降、随机梯度下降和小批量梯度下降

    airfoil4755 下载 链接:https://pan.baidu.com/s/1YEtNjJ0_G9eeH6A6vHXhnA 提取码:dwjq 梯度下降 (Boyd & Vandenbe ...

  7. Celery实现周期任务

    这个翻译之后居然叫芹菜~~最近Django框架需要涉及到执行周期任务~~上网搜了下其实还挺多的(django_crontab:这个学习周期短,但是发现不仅麻烦还不好用啊).(apscheduler,简 ...

  8. Vue定义全局过滤器filter

    这里介绍的是多个过滤器一起添加到全局中 1.创建方法 首先src下新建plugin文件夹,用来存放插件. 在plugin文件夹内新建filters.js,编写方法(如隐藏手机号码等等...) /** ...

  9. 对JavaScript中的this的理解

    什么是this: 解析器(就是浏览器)在调用函数时,每次都会向函数内部传递两个隐含的参数: 这两个隐含参数其中一个就是this(还有一个是arguments,用来接收函数的实参),this指向的是一个 ...

  10. 数据结构(C语言版)---查找

    1.查找表:同一类型的数据元素构成的集合. 2.对查找表进行的操作:查询某特定元素.检索满足条件的元素的属性.插入元素.删除元素. 1)若对查找表进行的操作只涉及前两种,则为静态查找表:需要进行插入和 ...