阿里云高级技术专家空见: CDN的数据化之路
想要实现优质高速的互联网视频服务,一定离不开高质量的内容分发网络服务,就是我们常说的CDN,在10月13日云栖大会视频多媒体分论坛上,阿里云高级技术专家空见为大家讲解了CDN服务过程中,数据处理、安全监测、日志分析、智能分析是如何为CDN赋能的。下面是演讲主要内容提炼:
一、业务背景
目前阿里云CDN的节点的数量超过1200个,可承载的带宽能力超过80Tbps,基本能覆盖国内一半的分发要求,海外的部署也是十分广泛的。在产品方面,CDN包括PCDN、安全加速、全站加速等各种子产品,因为分析的场景不同,所以对数据平台的扩展性也提出了更高的要求。从业务规模来看,阿里云CDN现在线上跑着百万级的域名,每个域名的分析都要做,比传统CDN高了两个量级。如此庞大的业务,对于用户内容的分发是好事情,对数据的回收和分析,却是一个不小的挑战。
二、数据需求
CDN的数据有三个关键字:海量、可靠、实时。
海量,CDN目前每秒钟有大几千万的数据访问,每天会沉淀出来5PB的系统日志,所以离线数据通常在EB级别,这个对实时计算和离线分析都有很大的压力;在监控这块阿里云CDN每天达到千亿级别,而且每年CDN数据增长都在100%之上,所以系统必须要有很强的扩展性,并提前设计好各个环节。
可靠,CDN的数据一定要是准确的,不能有毛刺的数据。因为数据的应用场景是很苛刻的,比如计费和监控,不能出现纰漏,不能漏报误报。数据出来后,阿里云CDN还要在全球范围内调度流量,一丝一毫的不准确都可能导致很严重的后果,所以对于数据的准确性要求很高。第二是系统本身的稳定,系统各个环境不能有明显的瓶颈,系统要有足够强的容灾能力,系统的自动恢复方案也要是充分的。
实时,在从前,阿里云CDN是五分钟分析一次数据,不管是计量还是计费,都以这个为标准。现在,因为有了更多的业务场景,以直播为例,如果一个主播推流断掉了,不能马上发现的话,影响的可能就是几十、上百万的用户的观看体验。所以,在实时性上,阿里云CDN现在能做到分钟以及秒级的实时,也就是说,在整个数据的要求上来看,不仅吞吐量要大,延迟也要足够低。
如此大规模的数据,如此严苛的要求,阿里云CDN又如何应对呢?
三、数据收集
下面我们看看阿里云CDN在数据收集方面是怎么做的。现在整个系统数据量化的程度还是比较高的,不光是用户的访问数据,系统的操作数据也是可以量化的。下面是数据收集全貌图:
数据来源,有两个方面,一个是左边的节点,另一个是右边的用户。
先从从左边的边缘节点来看,它是从全球的边缘节点去采集和处理,上面的数据大部分都是访问、回源的日志,节点之间互相探测的日志等,在总数据中占比80%以上。这里的数据量级非常大,而且本身CDN就是分布式系统,所以阿里云CDN将一部分数据分析工作在节点上就先完成了,比如通用的流量、命中率、QPS等指标,会在节点上做预处理,同时,全量的数据也会通过流式传输往数据中心去走。
右面是用户数据,通过浏览器或SDK来访问我们内容的用户,还包括系统上的用户,包括管理员管理配置、业务人员在后台对线上资源进行调配等,一般这里的数据直接通过流式传输平台SLS客户端直接发出。
在中心传输这一层,阿里云CDN采用阿里云本身的SLS产品,SLS支持对数据进行抽取、转化、分发、检索等功能,本身比较灵活,满足了ETL的场景,并且可以在上面做一些客户定制化的处理。SLS下来后,再用Blink对数据进行流式处理,它有一个好处就是中间状态可以保存,不需要应用和外部的第三方存储再做交互,能够满足数据定制化分析的一些场景。原始的访问及分析后的业务数据,最终会沉淀存储在ODPS中。用户也可以选择其他存储方式,比如可以提供文件下载功能的对象存储OSS。另外,时序数据也会存在OTS数据库中,以备实时检索。
以上的数据收集,基本上都是采用阿里云的产品,阿里云CDN的技术专家们只需要把系统串联起来,保证整体可用性即可,如此,就能将更多精力集中在数据的分析和应用上了。
四、数据分析
在数据分析这块,离线方面会做的轻一点,做运营报表和数据挖掘。阿里云CDN更多的是做实时数据分析。这两个分析系统,会将数据最终汇集到专家系统,用于检测这些数据有没有异常,找到异常问题的定位。找到问题根源后,根据其他平台产生的数据,关联起来,用机器学习的算法做一个问题的分类。
数据分析的使用场景包括:
自动化运维,通过机器资源、线上问题的收敛,阿里云CDN目前只需要三个运维就足够了;
智能调度,实时根据大区、节点的情况,合理调度流量和进行节点建设;
用户画像,相当于给用户提供一个体检,给出当前服务的建议,优化业务;
事件中心,记录当前节点上正在发生的事件,关注网络抖动和发布情况。
五、数据应用
左边是官网的截图,用户可以根据自己想要的维度,关注各类报表,看到CDN使用的情况。
中间是内部的监控系统,分钟+秒级监控,用于问题的复排和打标。
右边是事件的数据,显示当前整个平台的流量、事件等级和汇集情况等。
除了业务层数据,阿里云CDN和阿里云IDST联合,对CDN上分发的文本、图片、视频等内容进行鉴定,筛查涉黄等违规内容,防止IP被封。
六、总结
整个CDN数据化为了驱动系统,形成下发、执行、采集、分析的闭环。
在分享的最后,空见总结道:“从业务接入层,我们可以提供方便、快捷的接入环境;在策略执行层,我们可以快速把操作发布到线上,达到秒级生效;在数据生产层,我们将把所有的系统都量化起来,采集到海量、有效的数据;在决策中心层,我们相应对数据进行收敛,只关注关键数据指标,整个是一个闭环的过程。有了数据化的系统,后面的自动化、智能化才有更多发挥的空间。”
阿里云高级技术专家空见: CDN的数据化之路的更多相关文章
- 阿里云高磊:API网关加速能力聚合与生态集成
导读:本文中,阿里云高级技术专家高磊(花名:埃兰)将聚焦API网关加速能力聚合与生态集成,讲述API如何实现系统间的衔接和API网关的产品升级进程,重点展示了一些新功能.新体验和新变化. 大家下午好, ...
- 专访阿里云资深技术专家黄省江:中国SaaS公司的成功之路
笔者采访中国SaaS厂商10多年,深感面对获客成本巨大.产品技术与功能成熟度不足.项目经营模式难以大规模复制.客户观念有待转变等诸多挑战,很多中国SaaS公司的经营状况都不容乐观. 7月26日,阿里云 ...
- 阿里技术分享:阿里自研金融级数据库OceanBase的艰辛成长之路
本文原始内容由作者“阳振坤”整理发布于OceanBase技术公众号. 1.引言 OceanBase 是蚂蚁金服自研的分布式数据库,在其 9 年的发展历程里,从艰难上线到找不到业务场景濒临解散,最后在双 ...
- 阿里云云盾抗下全球最大DDoS攻击(5亿次请求,95万QPS HTTPS CC攻击) ,阿里百万级QPS资源调度系统,一般的服务器qps多少? QPS/TPS/并发量/系统吞吐量
阿里云云盾抗下全球最大DDoS攻击(5亿次请求,95万QPS HTTPS CC攻击) 作者:用户 来源:互联网 时间:2016-03-30 13:32:40 安全流量事件https互联网资源 摘要: ...
- 读<阿里亿级日活网关通道架构演进>有感
读<阿里亿级日活网关通道架构演进>时对优化方法有些概念不理解,特意搜索了一下,拓展自己的思路. 其中的优化: 优化方法中1,2比较常见,3,4我知道的比较少,很感兴趣.就继续追踪下去: 于 ...
- 阿里PB级Kubernetes日志平台建设实践
干货分享 | 阿里PB级Kubernetes日志平台建设实践https://www.infoq.cn/article/HiIxh-8o0Lm4b3DWKvph 日志最主要的采集工具是 Agent,在 ...
- 阿里云资深技术专家黄省江:让天下没有难做的SaaS
导语:本文中,阿里云资深技术专家黄省江(花名禅笑)将聚焦“SaaS加速器——让天下没有难做的SaaS”,对伙伴来说,SaaS加速器帮助他们做好SaaS,卖好SaaS:对企业来说,SaaS加速器帮助他们 ...
- 阿里云oss对象存储配置CDN
阿里云oss对象存储配置CDN 1.打开阿里云CDN 2.填写信息,这个地方要注意,我的备案域名是www.ljwXXX.work,我们可以自定义一个域名,test.ljwXXX.work作为加速域名. ...
- 太细了!阿里十年技术专家联合打造“最新”Jetpack强化实战手册
前言 提到Android架构,我们首先想到的是MVC,MVP,MVVM.他们主要是针对视图和模型的.随着Android的发展,从原来的框架很少,全是自己动手撸.到现在框架越来越多,选型也越来越多,导致 ...
随机推荐
- unittest详解 跳过用例的执行(skip)
在执行测试用例时,有时候有些用例是不需要执行的,那我们怎么办呢?难道删除这些用例?那下次执行时如果又需要执行这些用例时,又把它补回来?这样操作就太麻烦了. unittest提供了一些跳过指定用例的方法 ...
- 将mat文件中的数据按要求保存到txt文档中(批处理)
之前有个老朋友,让帮忙将一个mat中的数据重新保存到txt中,由于数据比较多需要用到批处理,之前弄过很多次,但每次一到要用的时候总是忘记怎么写了,现在记录一下,免得后面老是需要上网搜.这里先说一个比较 ...
- Spring MVC 函数式编程进阶
1. 前言 上一篇对 Spring MVC 的函数式接口编程进行了简单入门,让很多不知道的同学见识了这种新操作.也有反应这种看起来没有传统写法顺眼,其实大家都一样.但是我们还是要敢于尝试新事物.Jav ...
- 走向统一的 .NET 旅程
这是微软第一次完全线上举办的Build大会,也是第一次完全属于开发者的大会.几乎所有的新产品都是属于开发者,开发者成为了唯一的主角. 现在的微软比以往任何时候都贴近开发者,重视开发者的作用,为他们打造 ...
- Appium自动化(10) - appium高级元素定位方式之 UI Automator API 的详解
如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 前面介绍过根据id,clas ...
- linux常用命令---终端与目录操作
终端相关操作 目录相关操作
- python3.x 基础七:面向对象进阶
类的高级方法: 1.静态方法:在类方法前增加关键字@staticmethod,将普通方法变成静态方法,不能再次传值,不能访问实例变量或者类变量,与类的关系仅仅是通过类名进行调用 2.类方法:在类方法前 ...
- 基于vue+Django的简迩音乐用户界面实现
应这次软件工程课程要求,我们团队着力打造一个音乐播放器软件. 软件实现主要采用基于Vue.js+Python Django,前后端分离架构实现网页. 用户界面主要功能:呈现用户收藏歌单歌曲信息,并且提 ...
- CF894C Marco and GCD Sequence
题目链接:http://codeforces.com/contest/894/problem/C 题目大意: 按照严格递增的顺序给出 \(m\) 个数作为公因数集,请你构造出一个数列,对于数列中的任意 ...
- excel2007灵活计算2个日期之间的工作日
C1单元格公式:=NETWORKDAYS(A1,B1,$F$2:$F$10)+COUNTIFS($I$2:$I$3,">="&A1,$I$2:$I$3,"& ...