阿里巴巴實(shí)時(shí)數(shù)據(jù)公共層助力雙11媒體直播
今年的雙11,相信大家對(duì)上面央視新聞圖片中的數(shù)字大屏不會(huì)陌生了,除了媒體之外,在阿里巴巴西溪園區(qū)的媒體報(bào)告廳、指揮部等“要地”都有它的身影。當(dāng)天,這一大屏在全球400多家媒體前面驚艷出場(chǎng),并***謝幕。
阿里巴巴數(shù)據(jù)技術(shù)與產(chǎn)品部的實(shí)時(shí)數(shù)據(jù)公共層團(tuán)隊(duì)承擔(dān)了這背后的實(shí)時(shí)數(shù)據(jù)計(jì)算的工作,不僅做到了后臺(tái)數(shù)據(jù)全天24小時(shí)不間斷,而且保證了數(shù)據(jù)的準(zhǔn)確性。
實(shí)時(shí)的后臺(tái)數(shù)據(jù)不僅用在全球媒體大屏,阿里巴巴生意參謀的商家數(shù)據(jù)實(shí)時(shí)直播、天貓賽馬的實(shí)時(shí)數(shù)據(jù)、廣告投放系統(tǒng)的實(shí)時(shí)數(shù)據(jù)都來自實(shí)時(shí)數(shù)據(jù)公共層。
那么,什么是數(shù)據(jù)公共層,而實(shí)時(shí)數(shù)據(jù)公共層又是什么呢?
數(shù)據(jù)公共層,是阿里巴巴服務(wù)于全集團(tuán)的基礎(chǔ)數(shù)據(jù)中心,由數(shù)據(jù)技術(shù)與產(chǎn)品部承建。數(shù)據(jù)公共層分為離線數(shù)據(jù)公共層和實(shí)時(shí)數(shù)據(jù)公共層。離線數(shù)據(jù)公共層即傳統(tǒng)的數(shù)據(jù)倉(cāng)庫(kù)ODS層和DW層,而實(shí)時(shí)數(shù)據(jù)公共層顧名思義,可以理解成經(jīng)過清洗和加工后的“實(shí)時(shí)”基礎(chǔ)數(shù)據(jù)。
實(shí)時(shí)數(shù)據(jù)公共層的架構(gòu)如下:
實(shí)時(shí)數(shù)據(jù)公共層有如下特征:
1高性能和可擴(kuò)展性
實(shí)時(shí)計(jì)算的核心是基于Storm的實(shí)時(shí)計(jì)算引擎Galaxy和實(shí)時(shí)調(diào)度引擎Gallardo,系統(tǒng)的架構(gòu)可以高性能、橫向線性擴(kuò)展。目前實(shí)時(shí)公共層主備計(jì)算集群的機(jī)器數(shù)量已接近2千臺(tái)。從2012年開始,實(shí)時(shí)公共層團(tuán)隊(duì)經(jīng)過近3年的技術(shù)積累,積累了豐富的實(shí)時(shí)計(jì)算性能優(yōu)化經(jīng)驗(yàn)。本次雙11全天訂單創(chuàng)建及支付過程有近60億的變更量, 0點(diǎn)瞬時(shí)訂單量超過每秒7萬筆,全天日志量更是達(dá)到數(shù)百億之多,數(shù)百個(gè)實(shí)時(shí)應(yīng)用均能秒級(jí)響應(yīng)。
2高可用性和SLA服務(wù)保障
為了保障服務(wù)的高可用性,實(shí)時(shí)數(shù)據(jù)公共層在各個(gè)環(huán)節(jié)都做了容災(zāi)備份。如數(shù)據(jù)源層面,除了TT提供服務(wù)外,還接入了MetaQ數(shù)據(jù)源,兩個(gè)數(shù)據(jù)源都可以提供交易訂單數(shù)據(jù);在數(shù)據(jù)計(jì)算層面,實(shí)時(shí)計(jì)算平臺(tái)Galaxy和HBase都有多套獨(dú)立提供服務(wù)。為了配合容災(zāi),OpenAPI可以做到5秒內(nèi)完成接口切換,對(duì)整個(gè)前端應(yīng)用透明,使整個(gè)后臺(tái)數(shù)據(jù)服務(wù)做到高可用。
3平衡高精度和高吞吐量
實(shí)時(shí)數(shù)據(jù)有兩大主要業(yè)務(wù),交易和日志。交易數(shù)據(jù)要求高精度,在盡可能的情況下每一筆訂單數(shù)據(jù)都不能遺漏;而日志數(shù)據(jù)則要求高吞吐量,允許一定范圍內(nèi)的數(shù)據(jù)誤差。因此,在這兩種不同的業(yè)務(wù)場(chǎng)景,公共層使用了不同的計(jì)算方式。在計(jì)算交易數(shù)據(jù)時(shí),每一條消息都帶有事務(wù)ID,在消息接收、消費(fèi)的過程中需要對(duì)事務(wù)ID進(jìn)行校驗(yàn),一旦發(fā)生消息丟失可以請(qǐng)求數(shù)據(jù)源重發(fā)消息;而在計(jì)算日志數(shù)據(jù)時(shí),利用了Bloom Filter特性,犧牲了精確度以換取時(shí)間和空間。
4OneData和OneService
由于阿里巴巴集團(tuán)的業(yè)務(wù)繁多,對(duì)數(shù)據(jù)分析的需求量極其龐大,因此,阿里巴巴的數(shù)據(jù)公共層團(tuán)隊(duì)致力于建設(shè)一個(gè)基礎(chǔ)的、公共的核心數(shù)據(jù)層,這里所有的數(shù)據(jù)都是經(jīng)過OneData指標(biāo)規(guī)范化和數(shù)據(jù)建模的,通過統(tǒng)一的數(shù)據(jù)服務(wù)OneService對(duì)集團(tuán)的內(nèi)外數(shù)據(jù)產(chǎn)品提供服務(wù),從根本上避免了數(shù)據(jù)使用過程中指標(biāo)定義不一致、重復(fù)建設(shè)等諸多問題。在實(shí)時(shí)數(shù)據(jù)公共層的建設(shè)過程中,通過對(duì)集團(tuán)的實(shí)時(shí)交易、日志數(shù)據(jù)進(jìn)行DWD建模,最終上線了100多個(gè)實(shí)時(shí)接口就服務(wù)了17個(gè)不同的團(tuán)隊(duì),OneService接口每日調(diào)用次數(shù)接近1.5億次,通過這項(xiàng)工作下線的重復(fù)計(jì)算任務(wù)直接節(jié)省的計(jì)算資源超過230萬元。
作者簡(jiǎn)介:
羅金鵬,阿里巴巴集團(tuán)數(shù)據(jù)技術(shù)與產(chǎn)品部高級(jí)技術(shù)專家,負(fù)責(zé)集團(tuán)實(shí)時(shí)數(shù)據(jù)公共層和淘寶網(wǎng)數(shù)據(jù)公共層、應(yīng)用層建設(shè)。
殷霞,阿里巴巴集團(tuán)數(shù)據(jù)技術(shù)與產(chǎn)品部技術(shù)專家,負(fù)責(zé)集團(tuán)實(shí)時(shí)數(shù)據(jù)公共層建設(shè),熟悉實(shí)時(shí)計(jì)算Storm架構(gòu)和Hadoop、Hive、HBase等多項(xiàng)技術(shù)。