美团大众点评合并:背后技术力量的对比回顾
美團(tuán)網(wǎng)和大眾點(diǎn)評(píng)網(wǎng)在10月8日中午聯(lián)合發(fā)布聲明,宣布達(dá)成戰(zhàn)略合作,兩者將共同成立一家新公司。兩者也在InfoQ及其組織的大會(huì)上進(jìn)行過(guò)多次分享,我們將對(duì)美團(tuán)和大眾點(diǎn)評(píng)使用的技術(shù)進(jìn)行回顧,來(lái)看看這兩家電商巨頭的技術(shù)實(shí)力。
美團(tuán)和大眾點(diǎn)評(píng)都是國(guó)內(nèi)O2O領(lǐng)域的主要參與者。除了團(tuán)購(gòu)?fù)?#xff0c;美團(tuán)還有自營(yíng)的外賣、電影、酒店預(yù)訂等業(yè)務(wù)。大眾點(diǎn)評(píng)網(wǎng)最開(kāi)始主要為用戶提供各種生活信息服務(wù),基于這些信息開(kāi)發(fā)了團(tuán)購(gòu)等業(yè)務(wù)模式,近期它也開(kāi)始涉足電影、酒店預(yù)訂等業(yè)務(wù)。
由此可見(jiàn),兩者在業(yè)務(wù)上存在相當(dāng)?shù)闹睾?#xff0c;那么他們?cè)诠境砷L(zhǎng)的過(guò)程中又分別選取了什么樣的技術(shù)發(fā)展路線?下面我們將從技術(shù)角度來(lái)看兩者的異同,包括云架構(gòu),數(shù)據(jù)架構(gòu),前端,移動(dòng)端,個(gè)性化推薦。
云架構(gòu)
大眾點(diǎn)評(píng)容器私有云
大眾點(diǎn)評(píng)在2014年7月基于Docker搭建了私有云平臺(tái)。2015年8月份大眾點(diǎn)評(píng)云平臺(tái)首席架構(gòu)師盛延敏在InfoQ主辦的CNUTCon容器技術(shù)峰會(huì)上分享了它們容器私有云的實(shí)戰(zhàn)內(nèi)容。
Docker的應(yīng)用場(chǎng)景之一就是構(gòu)建企業(yè)私有云平臺(tái),它具有簡(jiǎn)單輕量的特點(diǎn),可以降低私有云的構(gòu)建難度,也能更高效的利用物理資源。大眾點(diǎn)評(píng)的私有云平臺(tái)承擔(dān)了大部分線上業(yè)務(wù)。實(shí)例數(shù)2800個(gè)左右,Docker物理集群300多臺(tái)。
大眾點(diǎn)評(píng)原來(lái)的應(yīng)用部署在KVM上,需要耗費(fèi)很大運(yùn)維時(shí)間和精力,特別對(duì)于擴(kuò)容和縮容。搭建Docker私有云之后實(shí)現(xiàn)了應(yīng)用標(biāo)準(zhǔn)化和運(yùn)維自動(dòng)化,從而節(jié)省了運(yùn)維成本。
大眾點(diǎn)評(píng)的Docker云底層使用Docker,通過(guò)Dockerfile,Docker Registry統(tǒng)一管理應(yīng)用的標(biāo)準(zhǔn)化運(yùn)行環(huán)境。組件之間使用NATS,降低耦合。接入層使用Nginx和Zookeeper。對(duì)于WEB應(yīng)用,通過(guò)與Nginx的Restful接口交互;對(duì)于服務(wù)類應(yīng)用,通過(guò)Zookeeper上注冊(cè)和注銷服務(wù)IP和端口,便于客戶端發(fā)現(xiàn)和更新該服務(wù)。
美團(tuán)云
美團(tuán)網(wǎng)于2013年上半年發(fā)布了其公有云服務(wù)美團(tuán)云。它們也在InfoQ上分享了公有云的研發(fā)經(jīng)驗(yàn)。
美團(tuán)云最初版本起步于2012年7月,一開(kāi)始構(gòu)建的是私有云計(jì)算平臺(tái)。2013年5月,美團(tuán)云對(duì)外提供公有云服務(wù)。美團(tuán)云架構(gòu)設(shè)計(jì)使用OpenStack的框架,網(wǎng)絡(luò)架構(gòu)參考CloudStack,主要組件由自己開(kāi)發(fā),部分組件在OpenStack原生組件上進(jìn)行了二次開(kāi)發(fā)。
核心云主機(jī)管理為自研,采用Region-Zone-Cluster三層架構(gòu),支持跨地域,多數(shù)據(jù)中心的大規(guī)模集群部署。采用基于KVM的主機(jī)虛擬化和基于OpenVSwitch+OpenFlow的網(wǎng)絡(luò)虛擬化技術(shù),降低了系統(tǒng)的開(kāi)發(fā)和維護(hù)成本。鏡像管理使用Glance;身份管理使用Keystone;對(duì)象存儲(chǔ)使用Swift。
美團(tuán)云在2013年5月剛上線時(shí)單月交易額10億左右,2015年7月單月突破111億,對(duì)美團(tuán)云系統(tǒng)和網(wǎng)絡(luò)穩(wěn)定性要求比較高,目前美團(tuán)云支撐了超過(guò)兩億用戶的高并發(fā)訪問(wèn)。并采用多個(gè)數(shù)據(jù)中心,數(shù)據(jù)中心之間使用光纖高速互聯(lián),確保美團(tuán)云的可靠性。
數(shù)據(jù)架構(gòu)
大眾點(diǎn)評(píng)
大眾點(diǎn)評(píng)在起步階段,為了搶占市場(chǎng),快速推出產(chǎn)品,采用方案比較簡(jiǎn)單。訪問(wèn)量大起來(lái)后,針對(duì)系統(tǒng)做了改進(jìn)。大眾點(diǎn)評(píng)的DBA經(jīng)理苗發(fā)平曾在InfoQ分享大眾點(diǎn)評(píng)的數(shù)據(jù)架構(gòu)之道。新版本中引入了Ehcache作為一級(jí)緩存,Memcached作為二級(jí)緩存,緩解數(shù)據(jù)庫(kù)讀壓力,分布式文件系統(tǒng)MogileFS作為分布式圖片存儲(chǔ)服務(wù)解決海量圖片存儲(chǔ),搜索引擎Lucene,Nosql數(shù)據(jù)庫(kù)MongoDB作為K-V數(shù)據(jù)服務(wù)。后期引入MySQL數(shù)據(jù)庫(kù),并采用Hadoop集群管理。最新版本中為解決服務(wù)治理問(wèn)題,引入“泳道架構(gòu)與容錯(cuò)隔離”方案,來(lái)提供系統(tǒng)的高可用性。架構(gòu)中使用MySQL高可用方案。通過(guò)MMM實(shí)現(xiàn)HA高可用,實(shí)現(xiàn)秒級(jí)故障轉(zhuǎn)移。
美團(tuán)
關(guān)于美團(tuán)網(wǎng)的架構(gòu),美團(tuán)網(wǎng)的技術(shù)委員會(huì)主席夏華夏在InfoQ主辦的全球架構(gòu)師峰會(huì)上分享了一些美團(tuán)架構(gòu)實(shí)踐經(jīng)驗(yàn)。美團(tuán)初期使用MySql+Apache/PHP,隨著業(yè)務(wù)增加,在開(kāi)源軟件的基礎(chǔ)上做集成和優(yōu)化,使用了Memcache和Varnish,隨后增加了Redis。
前端開(kāi)發(fā)
大眾點(diǎn)評(píng)
大眾點(diǎn)評(píng)是國(guó)內(nèi)領(lǐng)先的城市生活消費(fèi)指南網(wǎng)站,瀏覽量為500M(GA)/每月,高峰3000次動(dòng)態(tài)請(qǐng)求/每秒,180萬(wàn)動(dòng)態(tài)訪問(wèn)量/天。前端早期使用ASP.NET+SQL server,獨(dú)立的web和Database服務(wù)器。后來(lái)引進(jìn)了Cortex,基于CommonJS的Web開(kāi)發(fā)環(huán)境。
美團(tuán)
美團(tuán)網(wǎng)采用JS框架,基于YUI3來(lái)構(gòu)建,使用了YUI內(nèi)部的Loader、模塊、組件框架等基本思路和工具,圍繞YUI開(kāi)發(fā)了自己的公共底層庫(kù)、Combo以及發(fā)布工具等。2014年底,基于React開(kāi)發(fā)頁(yè)面組件,使用NPM進(jìn)行分享,用NPM+Reduce構(gòu)成新的資源管理方案。其后在 Node 框架的基礎(chǔ)上,提供了一系列中間件和開(kāi)發(fā)工具,逐步構(gòu)建對(duì)組件友好的前端工程化方案 Turbo。
移動(dòng)客戶端
大眾點(diǎn)評(píng)
大眾點(diǎn)評(píng)月綜合瀏覽量(網(wǎng)站及移動(dòng)設(shè)備)超過(guò)150億,其中移動(dòng)客戶端的瀏覽量超過(guò)85%,移動(dòng)客戶端累計(jì)獨(dú)立用戶數(shù)超過(guò)2億。移動(dòng)端是大眾的業(yè)務(wù)重點(diǎn)。我們可以通過(guò)大眾點(diǎn)評(píng)移動(dòng)應(yīng)用架構(gòu)師屠毅敏在全球架構(gòu)師峰會(huì)上關(guān)于大眾點(diǎn)評(píng)移動(dòng)應(yīng)用的架構(gòu)演進(jìn)的演講來(lái)一窺大眾點(diǎn)評(píng)的移動(dòng)開(kāi)發(fā)技術(shù)。大眾點(diǎn)評(píng)的移動(dòng)架構(gòu)主要關(guān)注三個(gè)方面:速度,靈活性,耦合。在速度方面優(yōu)化Http協(xié)議減短響應(yīng)時(shí)間,并進(jìn)行了緩存優(yōu)化。引入NDK以及Hybrid App進(jìn)行開(kāi)發(fā)。利用Android DexClassLoader進(jìn)行動(dòng)態(tài)加載。
美團(tuán)
美團(tuán)手機(jī)移動(dòng)端業(yè)務(wù)種類多差異大,為解決早期架構(gòu)上的耦合場(chǎng)景問(wèn)題,引入了Portal開(kāi)源框架。并引入Subtree代碼管理和CocoaPods第三方庫(kù)依賴管理工具。并利用Jenkins進(jìn)行持續(xù)集成。美團(tuán)技術(shù)專家陳曉亮曾在InfoQ主辦的QCon全球軟件開(kāi)發(fā)大會(huì)上針對(duì)美團(tuán)移動(dòng)平臺(tái)背后的技術(shù)進(jìn)行了演講。
美團(tuán)手機(jī)移動(dòng)端架構(gòu)圖
個(gè)性化推薦
大眾點(diǎn)評(píng)
大眾點(diǎn)評(píng)網(wǎng)因應(yīng)對(duì)大數(shù)據(jù)查詢分析功能,從2011年開(kāi)始使用Hadoop,有60多個(gè)節(jié)點(diǎn),700TB容量,還有2個(gè)HBase線上集群。使用Puppet管理集群,之后由于業(yè)務(wù)需要,又自行開(kāi)發(fā)了Taurus調(diào)度系統(tǒng)。并于2012年數(shù)據(jù)庫(kù)倉(cāng)庫(kù)轉(zhuǎn)向Hadoop/Hive。在2013年建立主要的大數(shù)據(jù)架構(gòu)后,大眾點(diǎn)評(píng)上線了HBase應(yīng)用,并引入Spark/Shark以提高Ad Hoc Query執(zhí)行時(shí)間。整個(gè)大數(shù)據(jù)架構(gòu)采用開(kāi)源+自研的形式。
美團(tuán)
為解決信息過(guò)載,幫助用戶快速找到所需,美團(tuán)推出大數(shù)據(jù)推薦系統(tǒng)。美團(tuán)推薦系統(tǒng)框架分為:數(shù)據(jù)層,觸發(fā)層,融合過(guò)濾層和排序?qū)印?shù)據(jù)層用Hadoop/Hive,HBase,MySql和Redis作為數(shù)據(jù)存儲(chǔ),使用了ETL系統(tǒng),Map/Reduce,Spark,Storm,Flume作為數(shù)據(jù)產(chǎn)生。觸發(fā)層利用各種觸發(fā)策略如用戶行為產(chǎn)生推薦的候選集,使用傳統(tǒng)的user based,item based協(xié)同過(guò)濾算法進(jìn)行融合篩選。排序?qū)又饕抢脵C(jī)器學(xué)習(xí)的模型對(duì)觸發(fā)層篩選出來(lái)的候選集進(jìn)行重排序。
隨著美團(tuán)交易規(guī)模的逐步增大,積累下來(lái)的業(yè)務(wù)數(shù)據(jù)和交易數(shù)據(jù)越來(lái)越多。目前在美團(tuán)的團(tuán)購(gòu)系統(tǒng)中大量地應(yīng)用到了機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘技術(shù)。并且研究了基于機(jī)器學(xué)習(xí)方法的POI品類推薦算法。美團(tuán)網(wǎng)的技術(shù)總監(jiān)王棟曾以美團(tuán)的智能化推薦為主題接受過(guò)InfoQ的采訪。
總結(jié)
上面對(duì)云架構(gòu),前端,移動(dòng)端,數(shù)據(jù)庫(kù),大數(shù)據(jù)的概況來(lái)看,在云架構(gòu)上大眾點(diǎn)評(píng)使用的是Docker,而美團(tuán)是采用OpenStack+自研。前端和移動(dòng)端因功能不同而不一致。數(shù)據(jù)庫(kù)兩者在前期都采用簡(jiǎn)單架構(gòu)以滿足初創(chuàng)公司快速發(fā)展,后因業(yè)務(wù)需要而不斷采用新的開(kāi)源技術(shù)。在大數(shù)據(jù)方面,均采用了Hadoop,HBase,Spark,Storm等來(lái)保證數(shù)據(jù)的準(zhǔn)確快速產(chǎn)生,而因推薦業(yè)務(wù)需要,美團(tuán)還大量使用了機(jī)器學(xué)習(xí)。可見(jiàn)美團(tuán)和大眾點(diǎn)評(píng)均具有實(shí)力強(qiáng)大的技術(shù)團(tuán)隊(duì),從云架構(gòu)和大數(shù)據(jù)來(lái)看,美團(tuán)似乎更甚一籌,兩家公司合并實(shí)為強(qiáng)強(qiáng)聯(lián)合,至于后續(xù)會(huì)如何發(fā)展,還將拭目以待。
總結(jié)
以上是生活随笔為你收集整理的美团大众点评合并:背后技术力量的对比回顾的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: delphi备份Oracle,Oracl
- 下一篇: mencoder