位置:主页 > 微信加群 > 双11媒体大屏背后的数据技术与产品

双11媒体大屏背后的数据技术与产品

作者:微商帝 ⁄ 时间:2016-12-17

声明:本文阿里巴巴技术论坛整理文章,首发于CSDN,未经许可,禁止任何形式的转载。
作者:罗金鹏(藏六),阿里巴巴数据技术与产品部的高级技术专家。
责编:钱曙光,关注架构和算法领域,寻求报道或者投稿请发邮件qianshg@csdn.net,另有「CSDN 高级架构师群」,内有诸多知名互联网公司的大牛架构师,欢迎架构师加微信qianshuguangarch申请入群,备注姓名+公司+职位。

【摘要】2016年双11阿里巴巴的产品成交额达到1207亿元,而面对与交易额一样巨大的流量洪峰,直播媒体大屏是怎样做到将交易数据实时计算并且准确显示出来的呢?在这背后究竟用到了哪些数据技术与产品呢?本次阿里巴巴2016双11技术创新论坛上,来自阿里巴巴数据技术与产品部的高级技术专家罗金鹏(藏六)就为大家分享双11媒体大屏背后的那些事。以下为分享整理正文:

本次为大家分享《双11媒体大屏背后的数据技术与产品》。阿里巴巴从2009年开始双11产品大促,从最初5千万的产品成交额,到2016年的1207亿的产品成交额,可能逍遥子自己也想不到,居然一不小心把事情搞这么大。

在2014年,也就是IPO元年的时候,我们数据技术与产品部团队开始承担双11的数据工作。因为是IPO的第一年,公司非常重视,决定要做现场直播。刚接到现场直播的数据媒体大屏任务时,我们团队也非常紧张,紧张的同时也花费了大量时间进行准备。但不巧的是在那一年11月10号23点50分的时候,前端还出现了问题,前端展示的趋势图突然显示异常了,所有人都不知道是怎么回事,于是开始紧急检查,在最后5分钟的时候检查出了问题所在,在最后的5分钟内,前端工程师紧急将这个bug修改完成。当时所有人都有一种非常崩溃的感觉,所幸那年的直播过程中数据媒体大屏并没有出现什么太大问题。但是一些服务于商家的数据产品,比如生意参谋,还有服务于小二的阿里直播厅等数据产品因为巨大的流量出现了延迟问题。这些问题的出现都是计划外的,如果是计划内的那就不叫故障而叫做服务降级了。

图片描述

2014年的媒体大屏总体效果还是非常好的,从这之后阿里巴巴每年双11都会举办媒体大屏的活动而且是现场直播。当然媒体大屏上的数字是年复一年地增大,面对如此巨大的数字,很多人就会质疑我们的数据准确性和真实性。包括美国证监会在内的监管机构也是一样,他们随时都会来检查我们的数据,甚至于连代码也会一行一行地进行检查,所以每年双11的代码都会封存起来以备检查。

整体而言,对于实时计算,需要面临很多挑战。这其中最重要的有四大挑战:海量、稳定、准确和及时。

海量数据的挑战是显而易见的,这8年来,从整体交易额就能看出数据量也是数千亿地进行增长的。而因为需要面对电视媒体的现场直播,所以在稳定性方面也不能出现任何的差错。在准确性方面,正如刚才所提到的包括美国证监会在内的监管机构会随时检查我们的数据甚至是代码,所以数据的准确性也是要求非常严格的。而及时性则是说从0点开始,必须保证在5秒内媒体大屏上的第一个数字就需要开始跳动,因为这时直播就开始了,而到24点时数据就必须停止展示,所以需要将数据在最短的时间内算好。以上就是我们在实时数据计算方面需要面对的四大挑战。

那么又该如何去应对这些挑战呢?接下来从三个方面数据链路、数据模型和保障措施介绍应对实时计算的挑战的方法。

数据链路

下图是数据实时计算的链路,这张图其实也包含了离线计算的链路。从左到右来看这张图,数据链路的开始部分,也就是日志的同步和DB数据同步。目前日志文件的同步全部采用增量文件同步的方式,这一过程可以依靠一些开源的工具完成日志的增量同步;而对于DB数据的同步而言,则是既有增量数据同步的方式也有全量数据同步的方式。增量数据同步的工作是由阿里内部的DRC产品承担的,而对于全量的数据同步,阿里也有自己的数据工具,比如说DataX,它可以负责将数据定时同步到批量计算引擎中。

图片描述

接着实时数据同步的后面是分布式消息队列,也就是消息中间件。分布式消息队列的主要功能是将消息存储起来,使得一份消息可以供多个的下游进行订阅,比如流式计算引擎也是消息队列的下游中的一方,而在正式的生产环境,其他的数据计算引擎也可以订阅消息。

转载请保留原文链接:http://www.weishangdi.com/jiaqun/47598.html
上一篇:手把手教你搭建VR&AR架构
下一篇:一年级老师通过微信教拼音学生将手机化身学习机