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

2022-06-01 13:30:11 字數 4313 閱讀 2229

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

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

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

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

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

這個過程中,美團雲在虛擬化、運維等方面積累了相當多的技術經驗。同時,美團雲對外輸出的不僅是底層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等通訊手段提取到控制器上,進一步整理和分析後,能夠形成視覺化的網路路徑圖,實現更高效的網路運維管理。

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

美團配送系統架構演進讀後感

美團配送自成立以來,業務經歷了多次跨越式的發展。業務的飛速增長,對系統的整體架構和基礎設施提出了越來越高的要求,同時也不斷驅動著技術團隊深刻理解業務 準確定位領域模型 高效支撐系統擴充套件。如何在業務高速增長 可用性越來越高的背景下實現系統架構的快速有效公升級?如何保證複雜業務下的研發效率與質量?本...

美團資料倉儲的演進

shdiao 2013 12 05 20 44 美團資料倉儲,在過去的兩年中,與我們的業務一起高速發展。在這一演進過程中,有很多值得總結和沉澱的內容。這篇文件回顧下美團資料倉儲這兩年發展過程中遇到的各種問題,為什麼選擇了現在的技術方案,每乙個功能和模組是在什麼情況下產生的,解決的是什麼問題,中間有過...

美團資料倉儲的演進

美團資料倉儲,在過去的兩年中,與我們的業務一起高速發展。在這一演進過程中,有很多值得總結和沉澱的內容。這篇文件回顧下美團資料倉儲這兩年發展過程中遇到的各種問題,為什麼選擇了現在的技術方案,每乙個功能和模組是在什麼情況下產生的,解決的是什麼問題,中間有過哪些彎路。既可以作為大家熟悉美團資料倉儲構建過程...