CC视频CTO栗伟:CDN系统架构及CC视频应用实践
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可以达到怎样的效果?栗总从三个方向表达了自己的观点。
\\
- 全业务加速,包括HTTP的访问加速,下载加速、点播加速和直播加速等。视频内容、下载内容均可通过CDN进行分发、承载和加速。\\t
- 降低成本。对于流量成本较高的企业,CDN可显著降低带宽成本,降低支撑运维建设成本和维护成本。\\t
- 安全运营。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 。
CC视频CTO栗伟:CDN系统架构及CC视频应用实践相关推荐
- 实时音视频聊天中超低延迟架构的思考与技术实践
1.前言 从直播在线上抓娃娃,不断变化的是玩法的创新,始终不变的是对超低延迟的苛求.实时架构是超低延迟的基石,如何在信源编码.信道编码和实时传输整个链条来构建实时架构?在实时架构的基础之上,如果通过优 ...
- 视频基础知识和直播系统架构
来源:细说云计算 通常我们所说的视频,是指连续的图象变化每秒超过 24 帧(Frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面,看上去是平滑连续的视觉效果,这样连续的画面叫做视频. ...
- 十年磨一剑,美国巨头视频网站 Hulu 的直播系统架构实践
Hulu 是 2007 年在美国上市的在线视频公司,提供会员制付费视频服务,商业模式与国内的爱奇艺.优酷类似.Hulu 今年 5 月发布了最新的 OTT 电视直播应用--Hulu Live TV,目标 ...
- win7计算机腾讯视频无法删除,处置win7系统清理腾讯视频垃圾缓存的图文方法
许多win7系统用户在工作中经常会遇到对win7系统清理腾讯视频垃圾缓存进行操作的情况,比如近日有用户到本站反映说win7系统清理腾讯视频垃圾缓存的情况,但是却不知道要怎么操作win7系统清理腾讯视频 ...
- 基于srs流媒体服务器搭建gb28181视频平台的微服务系统架构
gb28181安防视频平台 引言 安防就是视频监控,小区或者办公室装几个摄像头,物业或者保安在监控室盯着大 屏坐一整天. 对于安防架构的理解:摄像头+网络布线+数据存储管理硬盘 (RAID)+媒体软件 ...
- 启赟金融 CTO 马连浩:跨境支付系统架构
10年支付行业老兵 \\ 马连浩, EGO 上海分会会员.启赟金融的技术合伙人\u0026amp; CTO. \\ 我在 2017 年加入启赟金融(以下简称"iPayLinks") ...
- TOP100summit2017:网易云通信与视频CTO赵加雨:外力推动下系统架构的4个变化趋势...
壹佰案例:很荣幸邀请到您成为第六届壹佰案例峰会架构专场的联席主席,您曾深度参与Cisco Jabber,Webex Meeting, Cisco Spark等多项分布式实时通信类产品的架构与研发,您觉 ...
- TOP100summit2017:网易云通信与视频CTO赵加雨:外力推动下系统架构的4个变化趋势
壹佰案例:很荣幸邀请到您成为第六届壹佰案例峰会架构专场的联席主席,您曾深度参与Cisco Jabber,Webex Meeting, Cisco Spark等多项分布式实时通信类产品的架构与研发,您觉 ...
- 秒杀系统架构分析与实战 for java
秒杀系统架构分析与实战 for java 标签: 系统架构架构设计数据库 2016-01-18 16:35 2435人阅读 评论(0) 收藏 举报 目录(?)[+] 目录[-] 0 系列目录 1 秒杀 ...
最新文章
- 如何从“查找”中排除所有“拒绝权限”消息?
- rabbitmq3.5.1 原理和集群安装
- linux创建的kvm无法运行,使用virt-manager运行虚拟机的方法(创建第一个虚拟机)...
- php实现上传文件功能,简单实现php上传文件功能
- 理解分布式一致性:Paxos协议之Generalized Paxos Byzantine Paxos
- html 滚动条,菜鸟,ionic 滚动条
- py thon 多线程(转一篇好文章)
- 学习Leader选举算法
- 2022互联网大厂新年礼盒:腾讯向善、阿里家书、百度箱包抢镜!
- 2021FME博客大赛 —— 基于FME的土地利用与夜光遥感数据综合统计
- 无法保存此文档。它可能是只读的,或者正在被其他应用程序使用
- JAVA毕业设计vue宿舍管理系统计算机源码+lw文档+系统+调试部署+数据库
- cadence导生产文件_写了个Allegro导出bom和坐标文件的教程, 用于JLC的S - 电子制作(ElecDIY)版 - 北大未名BBS...
- Java——因式分解算法
- hdu 4190 Distributing Ballot Boxes
- chrome.exe(或其他exe)- 损坏的映像
- 百度天气预报接口使用详细
- hpet 定时器中断 8259 linux,[OSDEV]编程高精度定时器(HPET)
- 同济大学计算机系拿奖学分绩点,萌新必看NO.8|关于学分绩点奖学金,你想知道的都在这里...
- 文华财经指标公式源码学习
热门文章
- FlashPaper安装及使用方法
- 实习技术员的基本功(十一)
- centos下离线安装mysql
- python re.split_python re模块re.split将字符串分割后返回列表
- 如何下载php-5.5.38.tar.gz_搭建PHP服务器php-5.3.28.tar.gz
- python执行到input后执行下一程序_Python基础知识储备,如何开关一个while循环
- android包结构规范,【Android】Android产品-开发规范
- mysql any 效率_关于mysql的性能优化
- linux进程实际内存大小,Linux进程内存用量分析之堆内存篇
- C语言的typedef用法