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