技術盤點:雲原生中介軟體的技術演進與未來趨勢展望

阿里巴巴雲原生發表於2022-02-20

作者:胡偉琪(白慕)

阿里巴巴董事會主席兼執行長張勇在雲棲大會分享

過去這幾年,隨著雲原生技術生態的高速發展,中介軟體技術也在順應這個大趨勢向前演進,如果要說中介軟體的演進大方向,我認為就是雲原生化,但是對於中介軟體來說,這裡麵包含了兩層含義。

首先是中介軟體自身架構和執行時的雲原生化。眾所周知中件間基本上都是有狀態的應用,在整個IT架構中承擔了非常核心的作用,對於 IO、效能、穩定性的要求都非常高,所以一直以來中介軟體的容量管理、交付、運維、容災都是業界的難題,但是隨著雲原生技術體系的逐漸成熟,現在的中介軟體都在雲原生化,藉助雲原生技術,首先解決了自身的彈性和韌性問題,其次基於以 K8s +容器的執行底座,解決了中介軟體的運維、交付問題。

其次是開發者使用中介軟體方式的雲原生化。現在的雲原生中介軟體,通常以 BaaS 或SaaS的形態出現,幫助使用者遮蔽了底層的執行環境差異和運維複雜度,使用者通過標準化的 API 就可以完成對中介軟體的呼叫,這種形態的好處在於讓中介軟體逐漸基礎設施化,開發者可以更關注業務的開發,從而提升企業整體的開發和運維效率。

雲原生中介軟體和本地 PaaS 中介軟體之間是否有本質上的不同?

要談這個問題,我們只需要理解雲端計算和雲原生的本質是什麼。現在業界對於雲原生的定義基本上達成了共識,在這裡就不展開談了,結合中介軟體的特性,雲原生中介軟體和本地 PaaS 中介軟體的本質區別主要在於彈性、穩定性、高可用、安全性、使用成本等。

彈性: 雲原生技術體系為中介軟體帶來了良好的擴充套件機制和彈性架構,再借助雲上的海量資源實現中介軟體的按需彈性擴縮容的能力,讓使用者既不需要提前準備相關資源,也不需再為容量是否滿足業務需求擔憂。

穩定性: 在穩定性方面,需要先分析一下影響中介軟體穩定性的因素,主要包括硬體、作業系統、網路、儲存、運維等,利用雲上完備的 IaaS 和 PaaS 能力,可以很高效地為各領域中介軟體構建出高質量的穩定性保障體系,這是本地中介軟體無法實現的。

高可用: 在高可用方面,這是雲端計算和雲原生的先天優勢了,多機房的異地容災、多鏈路網路保障、完備的可觀測體系和診斷能力等,可以說雲原生中介軟體能提供的高可用能力,已經可以讓使用者無需再擔心因為中介軟體導致的業務連續性受影響的問題。

安全性: 大家都知道去年在 Java 領域發現了一個非常重大的漏洞,但其實這只是其中一個案例,我們使用的軟體、系統,包括中介軟體,無法避免出現漏洞或 bug,對於雲原生中介軟體來說,我們對漏洞的修復效率的要求,是最高優先順序的,使用者無需承擔漏洞帶來的潛在資料和系統風險。

使用成本: 這裡的成本是廣義的成本,包含資源成本、人力成本、時間成本等,藉助雲原生中介軟體,使用者不再需要關注中介軟體的釋出、升級、運維等一系列高人員投入的事務,也不需要為資源的空置率支付成本,就拿訊息中介軟體來舉個例子,我們經常可以看到,很多企業使用者的訊息推送量,在業務高峰和低谷期的訊息量可以相差數百甚至上千倍,藉助雲的彈效能力,客戶不需要再為業務低谷期的資源浪費擔憂,節約了大量的成本。 

2021年中介軟體領域有哪些重要的進展?  

藉助雲原生技術底座加速中介軟體在不同的環境輸出:雲原生技術生態的覆蓋面越來越廣了,在分散式雲和無邊界計算的大趨勢下,中介軟體也在加速向不同的環境輸出,比如不同的 CPU 架構平臺,過去中介軟體主要執行於 X86 架構上,但是隨著 ARM 架構的快速發展,現在大量中介軟體已經可以支援執行 ARM 架構之上。另外,中介軟體也開始適用於不同的計算場所,比如邊緣計算,尤其在更細分的現場和區域邊緣領域。

中介軟體逐漸服務化、透明化:中介軟體通過 BaaS 和 SaaS 形態把基礎能力下沉,賦能輕量、敏捷的雲原生應用,解決使用者使用效率和成本問題,這同時也符合開發者對於雲和雲原生髮展的期望。

開源和商業結合更緊密:雲原生技術核心是圍繞開源展開的,隨著中介軟體雲原生化程式的不斷推進,開源中介軟體的發展也越來越活躍,這一方面可以加速中介軟體和雲原生生態的結合,另一方面也看到在這樣的趨勢下,中介軟體越來越開放,在各細分領域會逐漸基於開源推出標準,開源標準的推進會反推雲服務更加標準化,最終受益的是廣大的中介軟體開發者和使用者。

阿里云云原生中介軟體不得不提的技術突破?

軟硬體協同提升中介軟體效能:軟體的不斷迭代,配合新硬體特性,是釋放技術紅利的最高效路徑,今年阿里雲在這一方面進行了多方位的佈局和嘗試,目前基於軟硬體協同優化能為訊息中介軟體 MQ 整體帶來 20% 的綜合效能提升,在閘道器和 Service Mesh 的部分場景中,對請求的處理效率提升了 260%,這些技術演進帶來的提升,阿里雲已經通過雲服務提供給了雲原生中介軟體的使用者, 譬如在服務網格 ASM 和 MSE 等產品中已經透出基於 Multi-Buffer 技術的效能實現 TLS 的加速。

基於雲原生重構中介軟體帶來效能飛躍:在 2021 年 6 月份,阿里雲釋出了開源註冊配置中心 Nacos 2.0,結合雲原生理念設計的全新 2.0 架構,將效能大幅提升10倍,核心進行了分層抽象,實現外掛擴充套件機制,支援 10w 級例項規模,並支援服務網格生態;同時,阿里雲在雲上同步提供了對應的雲產品 MSE 註冊配置中心。

​Nacos 2.0 升級前後效能對比壓測​

​年終獻禮 | Nacos Star 2W+ 的回顧與展望​

中介軟體能力高度整合化:在閘道器領域,阿里雲把流量閘道器和業務閘道器進行了融合,推出了雲原生閘道器,可以降低使用者一半的使用成本和維護成本;在訊息領域,阿里雲推出了訊息、事件、流一體化訊息平臺——RocketMQ 5.0,專注於訊息基礎架構的雲原生化演進,聚焦在訊息領域的後處理場景,支援訊息的流式處理和輕計算,幫助使用者實現訊息的就近計算和分析,並將全面擁抱 Serverless 和 EDA。

​阿里雲訊息佇列 RocketMQ 5.0 全新升級:訊息、事件、流融合處理平臺​

現在的中介軟體主要可以分成哪幾個部分?

廣義中介軟體的定義是非常廣泛的,比如訊息、微服務、閘道器、資料庫、整合平臺等等,都屬於中介軟體的範疇,在這裡我就簡單說一下訊息、微服務等領域:

訊息中介軟體:隨著大資料、AI的高速發展,訊息中介軟體的發展重點從過去線上應用和微服務比較關注的業務訊息領域,開始逐漸傾斜到大資料和流計算領域,在2021年 9 月阿里雲推出了 Apache RocketMQ 5.0-preview,這一版本開始重新定義訊息中介軟體,把訊息、事件、流一體化融合平臺,作為未來的主要發展方向,也得到了社群開發者的積極響應;另外,雲、邊、端一體化的訊息收集、傳輸、處理平臺,也將是訊息中介軟體未來重點佈局的方向。RocketMQ 的這些新特性會率先在阿里雲的MQ產品中對外推出。

微服務中介軟體:這裡講的是廣義的微服務,包含現在發展快速的 Service Mesh,Service Mesh 通過把控制面和資料進行分離的架構,確實在解決業務程式碼釋出效率、解耦合、多語言支援方面有很好的收益,但同時帶來的架構複雜度提升、端到端延遲升高等問題,這些問題阻礙著 Service Mesh 大規模生產上線,所以目前技術發展趨勢主要圍繞解決這兩類問題,比如基於 eBPF 等技術提升傳輸效率、proxyless 新架構方案等,阿里雲服務網格ASM產品也在探索 eBPF 效能優化以及引入 gRPC Proxyless 與 Sidecar 模式的融合處理;在傳統微服務領域,Spring Cloud、Dubbo 等非常成熟的開源框架仍然是微服務化的主要選擇,但也看到隨著微服務使用規模的不斷擴大,目前對於如何用好、管好微服務的需求越來越多,服務治理、分散式事務、零信任會成為接下來的發展重點,阿里雲在這一領域推出了 MSE 雲產品,把過去中介軟體微服務治理領域多年的的積累對外進行服務化輸出。

​阿里雲 MSE 雲原生閘道器助力斯凱奇輕鬆應對雙 11 大促​

2022年中介軟體領域的發展趨勢?

過去幾年阿里雲推進中介軟體的雲原生化實踐證明,在雲原生時代,中介軟體仍然發揮著至關重要的作用,並在新場景、新邊界、新形態上不斷推陳出新。

新場景:隨著越來越多樣化的計算負載和資料被搬到雲上,尤其是最近發展迅速的大資料、流計算、AI等新場景,勢必會對中介軟體提出新的要求;

新邊界:據 Gartner 預測,到 2025 年,將有 50% 的企業使用分散式雲,分散式雲已經成為大量企業下一代IT架構的首選。在此背景下,多雲、混合雲、雲邊一體化應用交付將成為核心訴求,一方面中介軟體需要具備自身在分散式雲場景下的交付部署問題,另一方面,中介軟體需要解決分散式雲場景下的業務資料流轉問題;

新形態:Serverless將成為下一代雲端計算的主流形態,在這樣的趨勢下,中介軟體也將會由現在的 BaaS 和 SaaS 形態,逐漸向 Serverless 形態演進。

以上內容擷取自 InfoQ 專訪阿里雲資深技術專家胡偉琪,在原內容基礎上補充相關參考延伸閱讀,方便開發者更好理解。 

作者介紹:

​胡偉琪(花名:白慕),阿里雲資深技術專家,中介軟體技術負責人,在阿里巴巴先後負責過電商資源排程系統、資源彈性伸縮系統、容器專案、邊緣容器服務等。​

相關文章