美團雲的網絡架構演進之路

2021-02-15 21CTO

在傳統的觀念裡,美團似乎一直被認為是家提供吃喝玩樂的團購平臺。但其實,從深入電影、外賣等領域起,美團就早已不再是一家團購公司了,打開今天的美團APP:電影、外賣、機票、酒店、上門、甚至周邊遊等多重垂直業務均被囊括其中。

2015年年底,美團與大眾點評宣布合併,合併後新美大的年活躍用戶量達到1.7億,高速增長的業務壓力和巨額交易量的背後,是美團雲提供的技術支持,讓其保持著平穩運營。

作為領先的O2O電商雲和大數據解決方案提供商,美團雲在2015年入選了「TOP100年度技術創新案例」。 而今天我們要分享的,則是美團雲的網絡架構從最初到現在,是如何一路演進而來的,在這個過程中,又產生了有哪些產品和哪些思考。

總有人會問美團為什麼要做雲?做好電商才是美團該走的路。其實不然,亞馬遜、阿里都是從電商起家的,而他們兩家分別是國外、國內體量最大的,所以,大規模的電商網站具有把雲做好的天然優勢:

一方面,雲的核心技術一定是由規模驅動的,大規模的電商在這方面有更深的積累。因為電商的特點除了流量大,其流量峰值波動也非常大,比如一些特殊的節日,用戶訪問量的峰值就會很高,所以電商在資源的彈性調度方面有更多的經驗。2012年,美團始逐步創建自己的私有雲平臺,2013年5月正式對外推出公有雲服務。2015年更是擴建了新的數據中心,並推出了更多的組件服務。

另一方面,美團擁有的大數據相關實施經驗,使得美團雲能夠對外提供更有針對性的大數據融合解決方案。

從技術角度來講,美團網是一家完全雲化的電商平臺,規模體量居國內最大。目前美團的交易量僅次於阿里集團,只不過,阿里巴巴的電商業務絕大部分並未完全跑在阿里雲上,而美團網所有的業務和交易,從2013年開始就完全跑在美團雲上。

這個過程中,美團雲在虛擬化、運維等方面積累了相當多的技術經驗。同時,美團雲對外輸出的不僅是底層IaaS的雲服務,更有大數據解決方案。因此,美團做雲是一件水到渠成的事,美團雲希望成為美團網技術積累對外輸出的窗口,為更多的創業者、中小企業包括正在進行」網際網路+」的傳統企業提供基礎設施雲服務,解決大家在技術方面的後顧之憂,而能夠專心業務發展。

美團網早期架構是從私有雲做起的。目標是,資源雲化和快速交付。值得一提的是,美團雲從一開始就沒有完全選用OpenStack,而是決定自研雲平臺。原因在於當時OpenStack並不成熟,只有個別組件比如glance、keystone是合適的,所以在虛擬化、網絡層,美團雲進行了自主研發。

現在看來,這樣做是對的。因為OpenStack偏向私有雲,如果當初完全基於OpenStack,現在做公有雲將比較困難。但美團雲選擇自研雲平臺,結合自身業務,所以現如今能夠平穩地支撐著所有業務。

當處於私有雲的階段時,主要的事情是把資源動態管理起來,對訪問控制和資源隔離沒有做太多要求。最初,美團雲主要通過帳號登陸管理、日誌進行事後審計。私有雲之後,推出的是辦公雲。辦公雲主要針對研發、測試人員,進行內部的測試使用。在這個階段,美團雲已經開始為公有雲做準備,建立了帳號體系、計費系統等這些功能。

辦公雲的存在,在現在看來有一個很大的好處,就是每一個上線公有雲的功能都會先在辦公雲上線,保證每一個功能的迭代都是穩定可靠的。也就是說,辦公雲實際提供了一個真實的線上測試環境。辦公雲之後,美團雲對外推出了公有雲服務。

早期的公有雲和辦公雲的架構大體類似,擁有更用戶友好、更完善的計費和消息系統、開放API等。其中,公有雲最早的底層網絡特點有幾個,一是網絡都是千兆網絡,對軟體性能要求不高。二是底層採用VLAN大二層,通過OVS控制器對用戶進行隔離。由於早期流量不是太大,千兆的流量用OVS來控制尚可,控制器性能不夠的情況尚且不多。但隨著用戶數量的增多,以及使用量的變大,後續開始出現問題。這也恰恰促成了美團雲進入全新的網絡升級時代。

從微觀角度來講,早期的公有雲存在一些問題。首先,在穩定性上,內外網都是一根網線單上連一個交換機,一個地方出問題整個網絡就會出問題。其次,外網、內網、管理網都是一根網線,這是在沒有冗餘的情況下,如果要做冗餘的話,就要變成六根網線,成本太高昂。其三,千兆網絡漸漸開始不能滿足用戶需求。還有一些隱藏問題,比如當時所有的用戶都是在交換機的一個vlan網絡下面。

理論上來說,這樣是可行的。但實際上,交換機對VLAN的支持能力限制了網絡規模的擴展,用戶數量受到限制。再比如軟體隔離佔用宿主機計算資源,可能會出現響應不了或者搶佔用戶cpu的情況。同時,在這個網絡下想實現用戶自定義網絡(vpc)就非常困難,靈活性低。 
因此,在經過了不斷地改進後,美團新的公有雲網絡架構在物理鏈路、主機網絡、網關、控制器四個緯度上全面升級,大大提高了整體網絡性能。

首先,從物理鏈路來看,性能方面,美團雲實現了萬兆互聯;其次,在核心上實現了雙機冗餘,不會因為某個物理環節問題,導致網絡不能啟動;第三,採用了TOR交換機堆疊,雙40G上聯,隨著日後網絡流量的增加,可以再擴展。此外,在網線的選擇上,美團雲還採用了10G Base-T的電口萬兆網絡,這個技術比較新,很多交換機廠商都還沒有這樣的設備。但是它的成本較低,運維起來也會更方便。另外,在機房建設的過程中,美團雲還使用了一些目前業界領先的技術,比如核心機櫃封閉冷通道、預端接,對成本的節省都是百萬級的。

機房出口挖斷了怎麼辦?同城多個網際網路數據中心(IDC)之間,通過邊界網關協議(BGP)來進行備份和冗餘。當有一個機房的網絡斷掉的時候,會通過邊界網關協議的流量自動轉移到另一個機房。

但是底層的物理鏈路是萬兆,不代表上層能把萬兆利用起來。我們花了更多的精力,解決如何把萬兆網絡利用起來的問題。一部分是網關,就是整個網絡出口的部分,比如DPDK技術。DPDK技術目前是被主流使用的技術方案,對釋放網絡性能有較大幫助。另一種,預留1-2個處理器(core)接受數據,一個處理器根據自己的邏輯負責處理控制信息,1-2個處理器負責收包,其餘處理業務,自己處理數據分發。

在實際使用中,美團雲根據兩種模型的優勢,分別都有選擇。在浮動IP網關、負載均衡網關、 DDoS清洗設備三個部分,實現了全面的DPDK化,同時在四層網絡上,能夠並發1000w連接情況下新建連接100w/s。

當網關不是瓶頸的時候,流量就能夠自由通到主機上,所以接下來就是通過主機網絡釋放性能。美團雲最早使用的OVS V1.1版本,在千兆網絡下可行,但萬兆網絡下性能遠遠不夠。升級到V2.3後平臺後,Megaflow對高並發情況下性能有數量級的提升,創建能夠滿足要求。

但另一個問題出現了,在單流的情況下,對萬兆網卡的利用率僅為50%。隨後在升級到V2.4,支持DPDK版本後,美團雲進一步提升了單流轉發性能。在新版本的OVS下,只要10%的計算資源就可以提供萬兆的網絡能力,網絡數據處理不影響用戶計算資源。這樣一來,就解決了宿主機的物理網絡瓶頸。

而在控制層面,有兩個選擇,一個是傳統工具eptables/iptables,二是OVS的方案。所謂OVS的控制方式,是配置流表,交由控制器處理。控制器決定是否放行,動態地下發對應流表,在OVS控制器對數據包進行過濾和處理過程中,美團雲開發了軟體層面的解決方案。針對單播,通過對SYN包檢查,下發流表,並對每個不匹配的UDP包進行檢查。

需要注意的是,由於發送端較難控制,而接收端對每個包處理,容易造成控制器隊列積壓。因此,美團雲採用下發臨時流表的方式解決積壓問題,或者通過設置限流閾值,進行快速恢復。

但是軟體層面的解決方案無法根本解決積壓的問題,因此下一階段的迭代就是在硬體層面進行隔離,通過VXLAN對用戶進行隔離。說到選擇VXLAN,就要提到對SDN方案選用的一些思考:在底層的萬兆物理鏈路之上,美團雲選用了Overlay的網絡架構。

簡單來說,Overlay的架構彈性靈活,業務與物理連結和埠分離,這就意味著網絡不再受限於物理上的連接和埠數量,可以按照資源池的概念來分配網絡資源。而Underlay作為整個SDN框架的基礎,充分吸取和延續了過去長期積累的物理網絡優勢,穩定可擴展。一方面ARP/OSFP/BGP 仍然值得信任,另一方面相關領域的運維專業人才相對儲備也較多。在參考了業界最新的實踐經驗後,美團雲選用了VXLAN的解決方案。

上述是在物理鏈路、主機網絡、網關、控制器方面釋放性能上,美團雲所做的嘗試。再上層就是讓用戶可以靈活地自定義自己的網絡。為了應對靈活性的挑戰,美團進行了相應的處理,比如分布式的 DNS。 
在傳統網絡下,一般使用默認的DNS伺服器地址,並通過源IP區分用戶。但是在用戶定義網絡(vpc)的情況下,用戶的地址是可以重複的。所以用戶識別方面,需要將VXLANID的用戶信息嵌入DNS數據包。另外在用戶網絡中,DNS伺服器的地址也是自定義的,所以實際的DNS服務需要使用Underlay地址,這裡面就需要做地址的轉換和映射。

總體而言,新公有雲的網絡結構全面升級為萬兆網絡層面,管理網做Bonding,用戶的內網外網overlay在管理網。VPC層面,通過VXLAN隔離用戶,並實現自定義的網絡。最後對外提供豐富的產品功能,比如浮動IP/負載均衡,對象存儲/塊存儲,RDS/Redis等。

未來,運維自動化的程度會進一步提高。通過openflow或者netconf等通信手段提取到控制器上,進一步整理和分析後,能夠形成可視化的網絡路徑圖,實現更高效的網絡運維管理。

這些就是美團雲網絡架構一路演進的過程,在這個過程中,美團雲的團隊成員始終秉承著「以最小代價解決最大問題」的思路,將軟體和硬體相結合,通過開源與自研,高效地實現了網絡架構的迭代,成為了行業標杆,並為千萬用戶提供更穩定、可靠的基礎設施雲服務。

來源:美團雲

關於21CTO

21CTO是中國網際網路第一技術社交與學習平臺。 為CTO、技術總監,技術專家,架構師、技術經理,高級研發工程師、PM等提供學習成長,教育培訓,工作機會、人脈影響力等高價值的在線教育和社交網站。

看微信文章不過癮,請移步到網站,誠摯歡迎您加入會員,並成為21CTO學院講師、教程作者團隊。

網站:www.21cto.com

投稿:info@21cto.com

QQ群: 79309783  (歡迎掃描下列二維碼關注本微信號)

相關焦點

  • 美團雲的Docker實踐之路
    本文由張童根據2016年1月24日@Container容器技術大會·北京站上鄭坤的演講《美團雲的Docker實踐之路
  • 邊緣計算:計算架構不斷演進的必然
    邊緣計算:計算架構不斷演進的必然 大眾新聞 發表於 2020-12-18 09:12:57 如今,5G已大規模商用,人工智慧正突飛猛進,邊緣計算技術也迎來快速發展。
  • 阿里雲「雲網絡3.0」:構建應用、雲、邊一體網絡
    雲網融合、雲網協同、網絡雲、雲網絡、雲邊一體……隨著網絡與雲的結合越來越緊密,產業生態鏈上的重要玩家提出了一系列概念和各自的雲網發展規劃,以求佔據產業先機。  在會上,祝順民指出,雲網絡是雲和網相互融合的產物,網絡因雲的出現而發生變化,具備了雲的特徵,未來的網絡都會變成雲網絡。  一方面,雲網絡是雲計算驅動下產生的。隨著雲計算應用深化,為了滿足雲計算用戶對安全隔離、自助管理、混合雲、多地域部署、訪問控制等能力的要求,網絡層面必須要有所作為。
  • 基於知識圖譜的問答在美團智能交互場景中的應用和演進
    在這些時代背後可以發現是人機互動方式的變化:從鼠鍵交互,到觸控交互,再到語音智能交互,可以看到人機互動的方式在向更自然更直接化的方式演進。今天會和大家分享基於知識圖譜的問答在美團智能交互場景中的應用和演進。
  • 專訪諾基亞貝爾邱曄:全光網絡是企業網演進首選技術方向
    全光網絡是企業網演進首選技術方向作為率先在全球推出全光企業網的先行者,諾基亞將電信級的GPON接入網絡解決方案引入到企業網絡領域,為企業提供一個業務統一、結構簡單、運營高效的無源光區域網,是企業信息化轉型的創新方案。「我們認為全光網絡是企業網未來向下一步演進的首選技術方向。」
  • 業務變化不息,架構演進不止 第四屆領域驅動設計峰會線上開啟
    業務的劇變對架構平臺帶來了巨大的衝擊,如何客觀地評估分析架構現狀、該從哪些維度設定架構演進的目標,又如何引導架構增量地向目標演進,成為當下企業持續探索的命題之一。 構建演進式架構 在過去十年中,DDD的限界上下文概念影響了軟體架構,並啟發Neal Ford產生了《演進式架構》書中的一些思想。
  • 華為雲擎天架構 引領雲基礎設施升級
    【中國,深圳,2020年5月20日】2020年華為全球分析師大會上,華為雲CTO張宇昕介紹了華為雲最新推出的華為雲擎天架構,並發布由擎天架構加持的「零損耗」裸金屬容器解決方案,引領雲基礎設施升級。Gartner最新報告顯示,2019年華為雲在中國IaaS市場排名前三,在全球排名上升至第六,全球增速最快。「歷經八年技術積澱的擎天架構,正是驅動華為雲穩健增長的關鍵動力源之一。」張宇昕表示,「基於擎天架構的雲基礎設施,實現了全場景的一致體驗與生態,為客戶提供最優算力、極致效能、穩定可靠的雲。
  • 雲網絡工程師必看丨6大最新OpenStack網絡架構
    UnitedStack有雲SDN網絡部PTL王為在奧斯汀峰會期間共觀看了20餘場技術講座,綜合之後再YouTube上觀看的回放,對36個Session進行了介紹和評論。這些網絡技術講座的觀影指南涉及架構、功能與工具、開發與其他四大領域。我們將分主題系列發布,希望幫助國內的開發者、架構師和用戶更好地了解OpenStack在SDN網絡領域的最新發展。
  • 【博採】Netflix:數據處理架構的演進
    眾方俱樂部,讓創業之路不再孤單。Netflix是一家在線影片租賃提供商,該公司連續五次被評為顧客最滿意的網站,在過去的7年中,Netflix流媒體服務從偶爾有數千用戶在線觀看發展到了數百萬用戶平均每月觀看超過20億個小時的規模。Netflix之所以能夠如此成功,離不開對用戶行為數據的收集與分析,那麼Netflix會收集哪些數據,這些數據會用來做什麼,其處理架構又是什麼呢?
  • 換電平臺演進的必由之路
    那麼,作為服務騎手的換電平臺,它的中臺和後臺又將如何演進呢?     一、換電中臺要做薄、做敏捷、變快速1.「康威定律」促進了中臺的敏捷康威定律可謂軟體架構設計中的第一定律,它是馬爾文·康威1967提出的,經過《人月神話》這本軟體界聖經的引用,命名為康威定律並得以推廣。它的主要觀點是「設計系統的架構受制於產生這些設計的組織的溝通結構」,通俗來說,也就是系統架構要適應組織的變化。
  • 通向雲端之路 談NVIDIA雲遊戲概念發展
    雲技術的根基是要實現集群化處理,目的地就是在雲端的伺服器完成一切運算方式,讓用戶可以在沒有本地運算的情況下完成工作。這樣的方式可以彌補很多行動裝置性能不足的問題,今天雲技術不僅讓大家共享網絡搜尋引擎,還可以讓我們把文件共享到雲端硬碟中,這樣就可以彌補手機等行動裝置存儲量不足的問題。也可以實現隨時隨地調用的優勢。雲技術一切的都是建立在計算機網絡中「共享」一詞當中,可以說沒有網絡就沒有雲。
  • 阿里巴巴集團副總裁李飛飛:雲計算加速資料庫與大數據系統演進
    原標題:阿里巴巴集團副總裁李飛飛:雲計算加速資料庫與大數據系統演進   「
  • 七牛雲姜智:Go+ 演進之路
    本次大會現場,七牛雲技術經理姜智受邀分享了《Go+ 演進之路》的主題演講。姜智從 Go+ 是如何火起來的、許式偉對 Go+ 的思考以及為什麼做 Go+、為什麼 Go+ 靶心是數據科學、Go+ 發布後目前已經具備了哪些特性、Go+ 的運行機制和邏輯等方面深度解析了 Go+ 的演進之路。
  • Flink萬字乾貨:4大發展方向,美團、快手應用實踐(PDF下載)
    https://github.com/nexmark/nexmark第二個重要的部分是流批一體,開頭提到 2020 年是流批一體的新紀元,為什麼這麼說呢,莫問老師從流批一體架構演進,Flink 批處理性能,以及業界流批一體數據生態這三個方面給出了答案。
  • 劉韻潔:網際網路正式進入下半場,服務定製網絡成為「大潮」
    「但目前,網際網路開始從消費領域進入到實體經濟,在要求海量連接的同時,也要網絡具備確定性服務質量的能力,『盡力而為』的傳統IP網絡架構會面臨巨大的挑戰。」 劉韻潔講道。誠如,5G/B5G的大帶寬、低時延、海量連接三大業務場景對未來網絡架構提出了新的需求,若提供不了確定性的網絡能力,5G在垂直行業中很難產生「殺手級」的應用。
  • 架構設計的四大思維支柱
    筆者在 InfoQ 前文《關於架構演進發展的探討》和《架構演進的第四個趨勢:行業級標準化》中,提出了筆者對架構發展趨勢的一些淺見,也介紹了企業級業務架構方法論的來龍去脈,本文擬基於上述文章提煉一下企業軟體(大家常說的 B 端軟體)架構設計中的四大思維支柱供大家參考。
  • 品高雲案例 | 新疆農村信用社雲平臺應用與實現
    而經過幾年的發展,新疆農信借鑑國內外銀行業和網際網路金融公司的經驗,逐步開展網際網路應用的探索及實踐,旨在實現銀行應用架構轉型。此刻,需要進一步雲平臺升級,提供網際網路應用所需的基礎架構。2020年,新疆農信還將優化基礎雲平臺及CMP平臺,增加智能縱深安全防禦體系,以滿足雲等保2.0標準的三級保護要求。同時,進一步構建基於容器面向雲原生應用的持續交付平臺,為銀行提供微服務應用的基礎架構,支撐銀行應用進行架構轉型。
  • OpenStack架構分析與實踐
    OpenStack以每年兩個版本的速度不斷迅速演進,所以對於OpenStack的架構而言,也是不斷向前發展的。
  • 軟體定義未來 看懂雲杉網絡軟價值與硬實力
    更何況很多行業還要在這套網絡結構上實現多地多中心、熱備等高級功能……當然,這只是網絡運維複雜性的成因之一。實際上,伴隨系統的演進,多數大型企業的網絡架構中即存在老的結構、也存在很多新的設計;即由傳統的存儲+伺服器結構,也包含SDN架構與VMware、OpenStack、容器結構。
  • 華為以政務外網IPv6+演進EVP方案加快數字政府建設步伐
    與此同時,政府網絡正逢數位化轉型時期,為深入貫徹落實國務院提出的「網際網路+政務服務」政府建設要求,急需同步加快構建「一網化」政務服務體系。因此,各省政府正在尋求「IPv6」演進的助推器及「IPv6」+「一網」化改造的粘合劑。