美團大眾點評合并:背后技術力量的對比回顧

jopen 9年前發布 | 39K 次閱讀 大眾
 

美團網和大眾點評網在10月8日中午聯合發布聲明,宣布達成戰略合作,兩者將共同成立一家新公司。兩者也在InfoQ及其組織的大會上進行過多次分享,我們將對美團和大眾點評使用的技術進行回顧,來看看這兩家電商巨頭的技術實力。

美團和大眾點評都是國內O2O領域的主要參與者。除了團購外,美團還有自營的外賣、電影、酒店預訂等業務。大眾點評網最開始主要為用戶提供各種生活信息服務,基于這些信息開發了團購等業務模式,近期它也開始涉足電影、酒店預訂等業務。

由此可見,兩者在業務上存在相當的重合,那么他們在公司成長的過程中又分別選取了什么樣的技術發展路線?

技術對比

下面我們將從技術角度來看兩者的異同,包括云架構,數據架構,前端,移動端,大數據。

云架構

大眾點評容器私有云

大眾點評在2014年7月基于Docker搭建了私有云平臺。2015年8月份大眾點評云平臺首席架構師盛延敏在InfoQ主辦的CNUTCon容器技術峰會上分享了它們容器私有云的實戰內容。

Docker的應用場景之一就是構建企業私有云平臺,它具有簡單輕量的特點,可以降低私有云的構建難度,也能更高效的利用物理資源。大眾點評的私有云平臺承擔了大部分線上業務。實例數2800個左右,Docker物理集群300多臺。

大眾點評原來的應用部署在KVM上,需要耗費很大運維時間和精力,特別對于擴容和縮容。搭建Docker私有云之后實現了應用標準化和運維自動化,從而節省了運維成本。

大眾點評的Docker云底層使用Docker,通過Dockerfile,Docker Registry統一管理應用的標準化運行環境。組件 之間使用NATS,降低耦合。接入層使用Nginx和Zookeeper。對于WEB應用,通過與Nginx的Restful接口交互;對于服務類應用, 通過Zookeeper上注冊和注銷服務IP和端口,便于客戶端發現和更新該服務。

美團云

美團網于2013年上半年發布了其公有云服務美團云。它們也在InfoQ上分享了公有云的研發經驗。

美團云最初版本起步于2012年7月,一開始構建的是私有云計算平臺。2013年5月,美團云對外提供公有云服務。美團云架構設計使用 OpenStack的框架,網絡架構參考CloudStack,主要組件由自己開發,部分組件在OpenStack原生組件上進行了二次開發。

核心云主機管理為自研,采用Region-Zone-Cluster三層架構,支持跨地域,多數據中心的大規模集群部署。采用基于KVM的主機虛 擬化和基于OpenVSwitch+OpenFlow的網絡虛擬化技術,降低了系統的開發和維護成本。鏡像管理使用Glance;身份管理使用 Keystone;對象存儲使用Swift。

美團云在2013年5月剛上線時單月交易額10億左右,2015年7月單月突破111億,對美團云系統和網絡穩定性要求比較高,目前美團云支撐了超過兩億用戶的高并發訪問。并采用多個數據中心,數據中心之間使用光纖高速互聯,確保美團云的可靠性。

數據架構

大眾點評

大眾點評在起步階段,為了搶占市場,快速推出產品,采用方案比較簡單。訪問量大起來后,針對系統做了改進。大眾點評的DBA經理苗發平曾在InfoQ分享 大眾點評的數據架構之道 。新版本中引入了Ehcache作為一級緩存,Memcached作為二級緩存,緩解數據庫讀壓力,分布式文件系統MogileFS作為分布式圖片存儲服 務解決海量圖片存儲,搜索引擎Lucene,Nosql數據庫MongoDB作為K-V數據服務。后期引入MySQL數據庫,并采用Hadoop集群管 理。最新版本中為解決服務治理問題,引入“泳道架構與容錯隔離”方案,來提供系統的高可用性。架構中使用MySQL高可用方案。通過MMM實現HA高可 用,實現秒級故障轉移。

美團

關于美團網的架構,美團網的技術委員會主席夏華夏在InfoQ主辦的全球架構師峰會上分享了一些美團架構實踐經驗。美團初期使用 MySql+Apache/PHP,隨著業務增加,在開源軟件的基礎上做集成和優化,使用了Memcache和Varnish,隨后增加了Redis。

初期架構圖:

美團大眾點評合并:背后技術力量的對比回顧

現在的美團整體架構圖:

美團大眾點評合并:背后技術力量的對比回顧

前端開發

大眾點評是國內領先的城市生活消費指南網站,瀏覽量為500M(GA)/每月,高峰3000次動態請求/每秒,180萬動態訪問量/天。前端早期使用ASP.NET+SQL server,獨立的web和Database服務器。后來引進了Cortex, 基于CommonJS的Web開發環境

美團網采用JS框架,基于YUI3來構建,使用了YUI內部的Loader、模塊、組件框架等基本思路和工具,圍繞YUI開發了自己的公共底層 庫、Combo以及發布工具等。2014年底,基于React開發頁面組件,使用NPM進行分享,用NPM+Reduce構成新的資源管理方案。其后 在 Node 框架的基礎上,提供了一系列中間件和開發工具,逐步構建對組件友好的前端工程化方案 Turbo。

移動客戶端

大眾點評:

大眾點評月綜合瀏覽量(網站及移動設備)超過150億,其中移動客戶端的瀏覽量超過85%,移動客戶端累計獨立用戶數超過2億。移動端是大眾的業務重點。我們可以通過大眾點評移動應用架構師屠毅敏在全球架構師峰會上關于 大眾點評移動應用的架構演進 的演講來一窺大眾點評的移動開發技術。大眾點評的移動架構主要關注三個方面:速度,靈活性,耦合。在速度方面優化Http協議減短響應時間,并進行了緩存 優化。引入NDK以及Hybrid App進行開發。利用Android DexClassLoader進行動態加載。

美團:

美團手機移動端業務種類多差異大,為解決早期架構上的耦合場景問題,引入了Portal開源框架。并引入Subtree代碼管理和CocoaPods第三 方庫依賴管理工具。并利用Jenkins進行持續集成。美團技術專家陳曉亮曾在InfoQ主辦的QCon全球軟件開發大會上針對 美團移動平臺背后的技術 進行了演講。

美團手機移動端架構圖:

美團大眾點評合并:背后技術力量的對比回顧

大數據

大眾點評:

大眾點評網因應對大數據查詢分析功能,從2011年開始使用Hadoop,有60多個節點,700TB容量,還有2個HBase線上集群。使用 Puppet管理集群,之后由于業務需要,又自行開發了Taurus調度系統。并于2012年數據庫倉庫轉向Hadoop/Hive。在2013年建立主 要的大數據架構后,大眾點評上線了HBase應用,并引入Spark/Shark以提高Ad Hoc Query執行時間。整個大數據架構采用開源+自研 的形式。

美團:

為解決信息過載,幫助用戶快速找到所需,美團推出大數據推薦系統。美團推薦系統框架分為:數據層,觸發層,融合過濾層和排序層。數據層用 Hadoop/Hive,HBase,MySql和Redis作為數據存儲,使用了ETL系統,Map /Reduce,Spark,Storm,Flume作為數據產生。觸發層利用各種觸發策略如用戶行為產生推薦的候選集,使用傳統的 user based,item based協同過濾算法進行融合篩選。排序層主要是利用機器學習的模型對觸發層篩選出來的候選集進行重排序。

隨著美團交易規模的逐步增大,積累下來的業務數據和交易數據越來越多。目前在美團的團購系統中大量地應用到了機器學習和數據挖掘技術。并且研究了基于機器學習方法的POI品類推薦算法。美團網的技術總監王棟曾以美團的智能化推薦為主題接受過InfoQ的采訪。

總結

上面對云架構,前端,移動端,數據庫,大數據的概況來看,在云架構上大眾點評使用的是Docker,而美團是采用OpenStack+自研。前端 和移動端因功能不同而不一致。數據庫兩者在前期都采用簡單架構以滿足初創公司快速發展,后因業務需要而不斷采用新的開源技術。在大數據方面,均采用了 Hadoop,HBase,Spark,Storm等來保證數據的準確快速產生,而因推薦業務需要,美團還大量使用了機器學習。可見美團和大眾點評均具有 實力強大的技術團隊,從云架構和大數據來看,美團似乎更甚一籌,兩家公司合并實為強強聯合,至于后續會如何發展,還將拭目以待。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!