Airbnb王宇:揭秘Airbnb的跨洋大數(shù)據(jù)平臺(tái)架構(gòu)
【51CTO.com原創(chuàng)稿件】2017年12月01日-02日,由51CTO主辦的WOTD全球軟件開(kāi)發(fā)技術(shù)峰會(huì)在深圳中州萬(wàn)豪酒店隆重舉行。本次峰會(huì)以軟件開(kāi)發(fā)為主題,數(shù)十位專(zhuān)家級(jí)嘉賓將帶來(lái)多場(chǎng)精彩的技術(shù)內(nèi)容分享。
Airbnb Sr Software Engineer王宇在大數(shù)據(jù)系統(tǒng)架構(gòu)設(shè)計(jì)專(zhuān)場(chǎng)與來(lái)賓分享了"Airbnb的跨洋大數(shù)據(jù)架構(gòu)"主題演講,為大家揭秘Airbnb是如何解決大數(shù)據(jù)的存儲(chǔ)應(yīng)用以及跨洋的數(shù)據(jù)平臺(tái)的搭建和支持,詳析Airbnb大數(shù)據(jù)挑戰(zhàn)和解決方案,分享如何解決大數(shù)據(jù)高效存儲(chǔ)和計(jì)算的過(guò)程,并了解如何進(jìn)行大數(shù)據(jù)平臺(tái)的跨洋支持。
Airbnb Sr Software Engineer 王宇
Airbnb愛(ài)彼迎成立于2008年8月,擁有世界***的客戶(hù)服務(wù)和日益增長(zhǎng)的用戶(hù)社區(qū),在這里用戶(hù)可以通過(guò)網(wǎng)站、手機(jī)或平板電腦發(fā)布、挖掘和預(yù)訂世界各地的獨(dú)特房源。目前在全球范圍內(nèi)擁有數(shù)千名員工,支持超過(guò)191 個(gè)國(guó)家的65000 個(gè)城市的物業(yè)租賃。隨著Airbnb的業(yè)務(wù)日益復(fù)雜,其大數(shù)據(jù)平臺(tái)數(shù)據(jù)量也迎來(lái)了爆炸式增長(zhǎng)。
揭秘Airbnb的跨洋大數(shù)據(jù)平臺(tái)架構(gòu)
大數(shù)據(jù)時(shí)代,每個(gè)公司都會(huì)遇到一些共性的挑戰(zhàn),比如大數(shù)據(jù)的采集、整合、存儲(chǔ)、計(jì)算。Airbnb Sr Software Engineer王宇表示,Airbnb特殊之處就在于是一家美國(guó)公司,在中國(guó)就會(huì)存在數(shù)據(jù)的跨區(qū)域備份的問(wèn)題。作為一個(gè)旅游平臺(tái),Airbnb會(huì)存儲(chǔ)一些和個(gè)人相關(guān)的信息。中國(guó)的研發(fā)團(tuán)隊(duì)不僅需要在***可能的程度上使用中國(guó)本身還有國(guó)際的數(shù)據(jù),還需要保證數(shù)據(jù)的安全性和使用時(shí)的延時(shí)。
基于這些挑戰(zhàn),Airbnb構(gòu)建了一套從數(shù)據(jù)采集、數(shù)據(jù)整合、數(shù)據(jù)清洗到數(shù)據(jù)瀏覽的一套系統(tǒng)。在global,整個(gè)架構(gòu)采用了兩套獨(dú)立的Hadoop集群,分別為Gold集群和Sliver集群。
所有的原始數(shù)據(jù)都會(huì)先導(dǎo)到Gold集群里面,Gold集群負(fù)責(zé)數(shù)據(jù)最初的清洗和整合,等這些數(shù)據(jù)清洗整合好之后,再把這些數(shù)據(jù)傳輸?shù)絊liver集群。在這兩個(gè)集群中間,Airbnb通過(guò)自己研發(fā)的一個(gè)名為Reair的系統(tǒng) ,可以保證兩邊的數(shù)據(jù)完全一致。如果Gold集群中的數(shù)據(jù)有一些變化,也會(huì)很快會(huì)反饋到Sliver集群。
王宇指出,設(shè)計(jì)兩個(gè)獨(dú)立的集群的優(yōu)勢(shì)就在于用戶(hù)作業(yè)的錯(cuò)誤隔離,方便容量規(guī)劃,保證SLA,易于測(cè)試新版本,災(zāi)難恢復(fù)。而劣勢(shì)在于不利用戶(hù)容易混淆,數(shù)據(jù)同步還需要單獨(dú)開(kāi)發(fā)ReAir以及運(yùn)營(yíng)成本。
在中國(guó),Airbnb新建了一套和global類(lèi)似的大數(shù)據(jù)系統(tǒng),中間是由AWS S3作為數(shù)據(jù)的通道,由于AWS有跨區(qū)域備份(Cross-Region Replication ,CRR)功能,可以便捷地進(jìn)行備份。
通過(guò)大數(shù)據(jù)平臺(tái)的構(gòu)建,幫助Airbnb成為一家數(shù)據(jù)驅(qū)動(dòng)型公司,凡事以數(shù)據(jù)說(shuō)話。通過(guò)數(shù)據(jù)分析能夠?yàn)橛脩?hù)提供***的旅行體驗(yàn),基于數(shù)據(jù)做出正確的產(chǎn)品決策。收集指標(biāo),通過(guò)實(shí)驗(yàn)驗(yàn)證假設(shè)。構(gòu)建機(jī)器學(xué)習(xí)模型和挖掘商業(yè)機(jī)會(huì)使得Airbnb公司高速、靈活的成長(zhǎng)。
構(gòu)建跨國(guó)大數(shù)據(jù)平臺(tái),合規(guī)首當(dāng)其沖
Airbnb在大數(shù)據(jù)平臺(tái)架構(gòu)構(gòu)建的過(guò)程中,也收獲了很多寶貴的經(jīng)驗(yàn)。首先,多關(guān)注開(kāi)源社區(qū)。在開(kāi)源社區(qū)有很多大數(shù)據(jù)架構(gòu)方面優(yōu)秀的資源可以采用。其次,多采用標(biāo)準(zhǔn)組件和方法。有時(shí)候自己開(kāi)發(fā)并不如使用已有的更好資源。第三,確保大數(shù)據(jù)平臺(tái)的可擴(kuò)展性。當(dāng)前業(yè)務(wù)數(shù)據(jù)呈現(xiàn)爆發(fā)性增長(zhǎng),因此要確保產(chǎn)品能滿(mǎn)足業(yè)務(wù)的增長(zhǎng)。第四,多傾聽(tīng)同事的反饋來(lái)解決問(wèn)題。第五,預(yù)留多余資源。
針對(duì)構(gòu)建跨國(guó)大數(shù)據(jù)平臺(tái)需要注意的問(wèn)題,他談到,要從法規(guī)、流程、技術(shù)、整套系統(tǒng)上做到可靠。首先最重要的是法規(guī),要了解在跨國(guó)支持的時(shí)候在法律法規(guī)上將面臨限制和挑戰(zhàn)。其次,一定要有一套可靠的數(shù)據(jù)通道。第三,整套系統(tǒng)要設(shè)計(jì)的通用一些,因?yàn)橐獜膅lobal導(dǎo)入很多不同的數(shù)據(jù)。同時(shí),一定要做好監(jiān)測(cè),哪些數(shù)據(jù)能出哪些數(shù)據(jù)不能出,包括兩邊數(shù)據(jù)的一致性。
***,在談到未來(lái)規(guī)劃時(shí),王宇表示,由于業(yè)務(wù)對(duì)數(shù)據(jù)增長(zhǎng)不是線性的,可能是呈指數(shù)級(jí)增長(zhǎng),因此,一定要進(jìn)一步提升大數(shù)據(jù)平臺(tái)的能力,特別是加強(qiáng)在不同場(chǎng)景下的機(jī)器學(xué)習(xí)的能力。同時(shí),對(duì)于新技術(shù)、新產(chǎn)品要時(shí)刻保持一個(gè)開(kāi)放、樂(lè)于嘗試的心態(tài),才能讓Airbnb的大數(shù)據(jù)平臺(tái)更上一層樓。
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】