BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 赵新龙 关注 1 他的粉丝 发布于 2017年12月22日. 估计阅读时间: 8 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

亲爱的读者:我们最近添加了一些个人消息定制功能,您只需选择感兴趣的技术主题,即可获取重要资讯的邮件和网页通知

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 。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT