ArchSummit全球架构师峰会全新主题——「智能进阶·架构重塑」>>> 了解详情
写点什么

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:587024

评论

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

带你玩转“超大杯”ECS特性及实验踩坑

科技怪咖

基于DevCloud进行黑白棋实时对战游戏开发实践

科技怪咖

直播系统源码——重视哪些功能的开发?

开源直播系统源码

软件开发 直播系统源码 直播功能

谁在构建超云?

Kent Yao

超云

微信官方kbone,Web端同构的福音

Geek_99967b

小程序

什么是知识库,为什么需要它?

Geek_da0866

从0到1打造推荐系统工程实战

Jay Wu

推荐系统

兆骑科创国内外创新创业服务平台,创业大赛,企业落地孵化

兆骑科创凤阁

推荐 | 移动开发主流热更新技术

Speedoooo

小程序 APP开发 热更新

CSDN 加入星策开源社区,携手推动企业智能化转型建设

星策开源社区

企业转型 智能化 CSDN

容器化 | 一文搞定镜像构建方式选型

RadonDB

MySQL Docker Kubernetes 镜像 RadonDB

兆骑科创创新创业大赛,双创活动,赛事承办,三招三引

兆骑科创凤阁

开源一夏 | 在STM32L051上使用RT-Thread (一、无线温湿度传感器 之 新建项目)

矜辰所致

开源 RT-Thread 8月月更 STM32L051

MySql主从同步介绍

京东科技开发者

MySQL 数据库 主从同步

重磅发布!阿里云全链路数据湖开发治理解决方案

阿里云大数据AI技术

大数据 阿里云 数据湖 数据分析

7 天找个 Go 工作,Gopher 要学的条件语句,循环语句 ,第3篇

梦想橡皮擦

Python 爬虫 8月月更

从GitHub火到了InfoQ!共计1658页的《Java岗面试核心MCA版》,拿走不谢

收到请回复

Java 程序员 金九银十 Java面试八股文 常见面试题

企业实践|基于软件研运一体化DevOps平台的应用解析

云智慧AIOps社区

DevOps 自动化 敏捷开发 研发管理 代码托管

点赞破百万!字节算法大佬亲撰30W字数据算法笔记:GitHub标星93K

小柴说Java

数据结构 算法 算法题 算法与数据结构 算法面试题

重磅升级!TDengine3.0正式发布

TDengine

数据库 tdengine 时序数据库

【Java】:程序流程的控制

翼同学

Java 学习 编程语言 分享 8月月更

火热与争议并行,XDR路在何方?

极盾科技

网络安全 安全 信息安全 数据安全 xdr

极盾·析策,XDR的正确打开方式

极盾科技

网络安全 安全 数据安全 xdr

XSKY星辰天合与观测云完成产品兼容性互认证 构建全业务链路的可观测性

观测云

软件测试100天上岸1-测试就是找茬游戏

和牛

测试 8月月更

让GitHub炸锅的深入理解MySQL实战手册,竟出自阿里云“藏经阁”

冉然学Java

Java MySQL 高可用 阿里 构架

干货!XDR产品安全检测体系如何更好的落地?

极盾科技

网络安全 安全 信息安全 数据安全 xdr

Alibaba最新发布的Spring Boot项目实战文档,Github标星78k

Java面试那些事儿

Java Java 面试 java程序员 Java工程师 spring-boot

洞见商业新机,云原生数据库GaussDB让企业决策更科学

华为云开发者联盟

数据库 后端 华为云

HUAWEI内网最新发布了一份452页网络协议手册,GitHb百万收藏

小柴说Java

Java 网络协议 java程序员 TCP/IP Java工程师

对话张星亮,洞察本质,SaaS首先是一种商业模式

B Impact

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