写点什么

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

  • 2017-12-21
  • 本文字数:2569 字

    阅读完需:约 8 分钟

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

2017-12-21 16:587281

评论

发布
暂无评论
发现更多内容

国庆期间,我造了台计算机

yes

计算机 底层

Web前后端:如何分离,如何解耦?

华为云开发者联盟

大前端 后端 开发

光大银行刘淼:基于华为云GaussDB(DWS) 数据仓库创新实践

华为云开发者联盟

数据仓库 数据 huawei

建筑行业区块链应用场景是怎样的

CECBC

区块链 行业资讯

MySQL-技术专题-问题分析

洛神灬殇

MySQL-技术专题-查询速度性能

洛神灬殇

开源数据库这么香,为什么我们还要下功夫自研?

华为云开发者联盟

数据库 开源 数据

区块链是一个不知道要解决什么问题的解决方案吗?

CECBC

比特币 区块链 银行

spring-boot-route(十)多数据源切换

Java旅途

Java Spring Boot

程序员去外包真的不可取吗?

Java架构师迁哥

31道Java核心面试题,一次性打包送给你

小Q

Java 学习 程序员 架构 面试

字节跳动 Flink 单点恢复功能实践

Apache Flink

flink

SpringBoot-技术专题-启动原理

洛神灬殇

来不及解释了,快上车!力软快速开发平台,助力企业搭乘万物互联的顺风车

Learun

Nacos-技术专题-配置中心实现

洛神灬殇

MySQL-技术专题-主从复制原理

洛神灬殇

互联网应用系统技术方案主要解决什么问题?

博古通今小虾米

Java程序员月薪多少K才能在北上广买得起房?

Java架构之路

Java 程序员 编程语言

lldb常用命令与调试技巧

iOSer

ios lldb常用命令 lldb调试技巧

开源=免费?

Learun

架构师训练营第四周作业

郎哲158

Python时间序列分析简介(2)

计算机与AI

Python 时间序列

深入分析CRM系统对现代企业的作用

Learun

EffectiveJava读书笔记-01-对象创建与销毁

wander

读书笔记 编程开发

从构建小系统到架构分布式大系统,Spring Boot2的精髓全在这里了

Java架构之路

Java 程序员 面试 Spring Boot 编程语言

PyFlink + 区块链?揭秘行业领头企业 BTC.com 如何实现实时计算

Apache Flink

flink

架构师训练营第四章 系统架构总结

郎哲158

节日快乐…吗?

小天同学

个人感悟 国庆中秋 假期 节日

架构师训练营1期第三周作业

木头发芽

技术实操丨SoundNet迁移学习之由声音分类到语音情感识别

华为云开发者联盟

AI 数据 语音识别

2020年秋招阿里136道Java高级岗面试题(含答案及复习资源)

Java架构之路

Java 程序员 面试 算法 编程语言

CC视频CTO栗伟:CDN系统架构及CC视频应用实践_架构_赵新龙_InfoQ精选文章