2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

评论

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

人物 | 从程序员到架构师,我是如何快速成长的?

安势信息

程序员 职场 架构师 程序员进阶 人物访谈

大数据培训课程如何选?

小谷哥

java培训中心有哪些

小谷哥

web前端培训课程怎么选择

小谷哥

你知道 Vue scoped 原理吗?这波你在第几层?

掘金安东尼

面试 前端 8月月更

在北京参加UI设计培训到底怎么样?

小谷哥

腾讯SpringBoot高阶笔记,限时开源48小时

冉然学Java

编程 springboot 笔记 java 日志 #开源

Java完全自学手册,从外包到大厂,再到年薪100万技术大佬都靠它

JAVA活菩萨

Java 程序员面试 大厂技能 秋招 大厂面经

程序员的专属浪漫——用3D Engine 5分钟实现烟花绽放效果

HarmonyOS SDK

七日算法先导(七)——字符串

工程师日月

8月月更

API接口是什么?API接口常见的安全问题与安全措施有哪些?

郑州埃文科技

API接口管理 非对称加密 md5 令牌桶算法

国际计费系统基于Sharding-Proxy大数据迁移方案实践

京东科技开发者

数据库 系统 数据迁移

集群部署spark、Hadoop环境

峥岳

hadoop spark hive

java软件培训费用怎么算

小谷哥

研发需求的验收标准应该怎么写? | 敏捷实践

LigaAI

程序员 产品经理 敏捷开发 研发管理 开发流程

OpenSSF的开源软件风险评估工具:Scorecards

SEAL安全

开源 开源安全 软件供应链安全 开源合规 开源工具包

开源一夏 |最好用的脚本语言--JavaScript

叶秋学长

开源 前端 js 8月月更

leetcode 20. Valid Parentheses 有效的括号(中等)

okokabcd

LeetCode 数据结构与算法 栈和队列

使用 ABAP 编程语言的 System CALL 接口,直接执行 ABAP 服务器所在操作系统的 shell 命令

汪子熙

Linux unix SAP abap 8月月更

浅谈一线互联网大厂中算法岗的分类

码农鬼仔

数据挖掘 AI 算法工程师 校招 机器学习/深度学习

美的数字化平台 iBUILDING 背后的技术选型

TDengine

数据库 tdengine database

双Q合璧:RabbitMQ与RocketMQ,电子版手绘脑图+学习指南+面试等

冉然学Java

RocketMQ RabbitMQ 架构设计 笔记 java 日志

看漫画MHGmhgui,Python爬虫之神奇的eval,附赠一个压缩模块

梦想橡皮擦

Python 爬虫 8月月更

七日算法先导(六)——堆排序,桶排序

工程师日月

8月月更

富媒体在客服IM消息通信中的秒发实践

得物技术

前端 即时通讯 客服 富媒体 大文件传输

Rust 入门指南(使用JSON)

王泰

rust

自从我使用HiFlow场景连接器后,在也不用担心成为“落汤鸡”了

叶秋学长

Hiflow

前端该如何优雅地 Mock 数据

CRMEB

《数字经济全景白皮书》银行业智能营销应用专题分析 发布

易观分析

金融 银行 白皮书 智能营销

对话跨国消费品牌DPO:数据安全合规从何做起?8.11直播见!

奇点云

数据治理 数据安全 数据合规

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