劉江
今天我要分享的是美團(tuán)是如何基于開源技術(shù)支撐4億多用戶,并且使整個平臺達(dá)成幾千億元交易額的。
不知道在座有多少人讀過《開源軟件文集》,這本書是1999年我還在出版社的時候出版的一本書,現(xiàn)在OPEN SOURCES之所以被叫作開源,跟這本書是有很大關(guān)系的。現(xiàn)在看來這本書也是非常有價值的,很多開源軟件的參與者、重要開源軟件的發(fā)明者都參與了文章撰寫。如果追溯起來,這可能是中國開源的理論源頭。
如今開源已經(jīng)成為主流,但20年前開源還是非常小眾的,20年后的今天,我相信各行各業(yè)包括互聯(lián)網(wǎng)公司,大家用的主要技術(shù)都是開源。美團(tuán)作為中國生活服務(wù)領(lǐng)域領(lǐng)先的電子商務(wù)平臺,有4億多用戶,支撐了580多萬商家,而且品類非常多,在多個細(xì)分領(lǐng)域都是行業(yè)第一,比如餐飲、住宿訂單、電影票、景區(qū)門票等都排名第一。這里值得一說的是外賣,現(xiàn)在中國外賣日均單量已超過2500萬,跟其他國家同行相比,我們要高一個數(shù)量級,達(dá)到了非常大的規(guī)模。
如此大規(guī)模的平臺是基于很大的技術(shù)棧支撐的,美團(tuán)的工程師規(guī)模超過8000人,很多人平時用美團(tuán),但想象不到在這背后,我們產(chǎn)品經(jīng)理和設(shè)計研發(fā)團(tuán)隊的人數(shù)達(dá)到了一萬多人。
自2010年成立,美團(tuán)從幾個人的技術(shù)團(tuán)隊發(fā)展到今天如此大的規(guī)模?;仡櫄v史,美團(tuán)是怎么一步一步做起來的?我把美團(tuán)定義為“開源原生的公司”。2010年開源在互聯(lián)網(wǎng)技術(shù)圈已經(jīng)成了主流,美團(tuán)從第一天起就是完全基于開源技術(shù)的,反過來講如果沒有開源技術(shù),可能美團(tuán)會跟今天完全不一樣,也可能做不起來。美團(tuán)在2010年之后的所有發(fā)展,整個技術(shù)棧全是基于開源,逐漸發(fā)展到根據(jù)各個業(yè)務(wù)線擴(kuò)展開來,但核心一定是開源。在統(tǒng)一基礎(chǔ)架構(gòu)平臺上,有美團(tuán)和大眾點評兩個用戶平臺,它們支撐了繁多的業(yè)務(wù),包括大家比較熟悉的摩拜也是美團(tuán)平臺上的業(yè)務(wù)。大家也能看到拆分出的每一個業(yè)務(wù)模塊,前端都是開源,包括我們自己做的CAT監(jiān)控軟件也做了開源,而且這個軟件目前很多公司都在使用。云計算大量采用了開源技術(shù),可能很多公司遇到過和我們一樣的困難,在搭建的過程中,最開始的云平臺基于OpenStack,后來發(fā)現(xiàn)很難支撐,有一些組件需要自己做,如此一來也可以說開源并不是萬能的,現(xiàn)在很多核心的開源組件還達(dá)不到企業(yè)目前的標(biāo)準(zhǔn)和要求,所以我們不得不自己組建團(tuán)隊去開發(fā)其中的一部分。
基礎(chǔ)中間件在云計算的上一層,里面很多組件是基于開源在做的,還有一些自建的,如果業(yè)界還沒有發(fā)現(xiàn)比較好的選擇方案,接下來我們計劃逐步把它們開放出來。目前已經(jīng)開放的是比較核心的服務(wù)治理模塊,可以實現(xiàn)內(nèi)部幾十億次調(diào)用,久經(jīng)考驗。Open-Falcon是小米做的,我們基于這個基礎(chǔ)在做,其實中國互聯(lián)網(wǎng)圈已經(jīng)形成了彼此復(fù)用、彼此站在對方肩膀上的良好生態(tài),互聯(lián)網(wǎng)公司聯(lián)合在一起共建代碼,一起往前走。
整個大數(shù)據(jù)平臺基本上全是開源組件。很多研發(fā)人員成了項目負(fù)責(zé)人后,發(fā)現(xiàn)在現(xiàn)有場景和規(guī)模下很多原始項目代碼達(dá)不到要求,我們就幫他們“添磚加瓦”。關(guān)于業(yè)務(wù)架構(gòu),舉一個大家最熟悉的例子—外賣。大家能看到外賣也是由大量開源組件構(gòu)成主要技術(shù)組件的,現(xiàn)在的開源技術(shù)已經(jīng)能支撐如此復(fù)雜的系統(tǒng),而且這樣的系統(tǒng)如果用在商業(yè)產(chǎn)品上,是很難做到的,而大家在美團(tuán)下單點外賣的時候可能想不到背后有這么復(fù)雜的系統(tǒng)在做支撐。
總體來講,我們是開源的獲益者,因為如此復(fù)雜的IT系統(tǒng),如果沒有開源技術(shù)和全世界開源社區(qū)的共同努力,我們要增加很多研發(fā)人員,付出更多研發(fā)成本。美團(tuán)雖然上市了,市值在中國互聯(lián)網(wǎng)企業(yè)里排第三,但現(xiàn)在財報上還是負(fù)的,我們在研發(fā)上投入非常巨大,去年財報顯示研發(fā)投入70億元,占總收入的12%左右,可以想象如果沒有開源技術(shù),美團(tuán)基本上無法生存。
于是,我們開始加大貢獻(xiàn)力度,盡力做一些開源工作,最大的一項是微信小程序的開發(fā)框架。對于美團(tuán)這樣一個高速發(fā)展的公司來說,技術(shù)團(tuán)隊的業(yè)務(wù)壓力非常大,因為我們很多業(yè)務(wù)場景需要技術(shù)團(tuán)隊不斷的迭代開發(fā),甚至還要加班加點。所以現(xiàn)在面臨這樣一個問題,派送員是不會記入技術(shù)團(tuán)隊KPI的,我們是憑借自己的熱情,從回報開源的角度,給企業(yè)里有熱情做開源的工程師、技術(shù)團(tuán)隊提供更好的措施,從而讓大家認(rèn)識到開源是很重要的。有個很典型的例子,我們有一個容器的平臺,基本上完全是自己開發(fā)的,但是后來發(fā)現(xiàn)一個小團(tuán)隊在比較有難度的技術(shù)項目里投入不足,很難真正做出非常高的質(zhì)量,后來我們發(fā)現(xiàn)谷歌開源出來的k8s質(zhì)量越來越好,現(xiàn)在與容器相關(guān)的技術(shù)都切到了k8s上面。
企業(yè)界需要形成更好的生態(tài),讓更廣大的技術(shù)團(tuán)隊認(rèn)識到應(yīng)該更好地復(fù)制開源主流技術(shù)。即使美團(tuán)的規(guī)模很大,也很難把最優(yōu)秀的工程師都招來,開源已經(jīng)形成現(xiàn)在的運行模式,如果能夠集中全業(yè)界各公司優(yōu)秀的技術(shù)人員共同做一件事,那么這股力量會越來越大。
(根據(jù)演講內(nèi)容整理,未經(jīng)本人審核)