CC 视频 CTO 栗伟:CDN 系统架构及 CC 视频应用实践

阅读数:5188 2017 年 12 月 21 日 16:58

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 进行分发、承载和加速。
  2. 降低成本。对于流量成本较高的企业,CDN 可显著降低带宽成本,降低支撑运维建设成本和维护成本。
  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  。

评论

发布