雲原生網路代理 MOSN FAQ

rootsongjc發表於2020-03-11

為什麼要使用 MOSN 替換 Istio 的資料面?

螞蟻金服在進行 Mesh 改造前,已經預料到作為下一代螞蟻金服的基礎架構,Mesh 化勢必帶來革命性的變革以及演進成本,我們有非常巨集大的藍圖:準備將原有的網路和中介軟體方面的各種能力重新沉澱和打磨,打造成為未來新一代架構的底層平臺,承載各種服務通訊的職責。

這是一個需要多年時間打造,滿足未來五年乃至十年需求的長期規劃專案,合作共建團隊跨業務、SRE、中介軟體、基礎架構等部門。我們必須有一個具備靈活擴充套件、高效能、滿足長期演進的網路代理轉發平面。Nginx、Envoy 在網路代理領域有非常長期的能力積累和活躍的社群,我們也同時借鑑了 Nginx、Envoy 等其他優秀的開源網路代理, 同時在研發效率、靈活擴充套件等方面進行了加強,同時在整個 Mesh 改造涉及到非常多的部門和研發人員,必須考慮到跨團隊合作的落地成本,所以我們基於 Go 自研了雲原生場景下的新型網路代理 MOSN。對於 Go 的效能,我們前期也做了充分的調研和測試,滿足螞蟻金服業務對效能的要求。

同時我們從社群使用者方面收到了很多的反饋和需求,大家有同樣的需求以及思考,所以我們結合社群與自身的實際情況,從滿足社群以及使用者角度出發進行了 MOSN 的研發工作,我們認為開源的競爭主要是標準與規範的競爭,我們需要基於開源標準做最適合自身的實現選擇。

MOSN 與 Envoy 不同點是什麼?優勢在哪裡?

語言棧的不同

MOSN 使用 Go 語言編寫,Go 語言在生產效率,記憶體安全上有比較強的保障,同時 Go 語言在雲原生時代有廣泛的庫生態系統,效能在 Mesh 場景下被我們評估以及實踐是可以接受的。所以 MOSN 對於使用 Go、Java 等語言的公司和個人的心智成本更低。

核心能力的差異化

  • MOSN 支援多協議框架,使用者可以比較容易的接入私有協議,具有統一的路由框架;
  • 多程式的外掛機制,可以通過外掛框架很方便的擴充套件獨立 MOSN 程式的外掛,做一些其他管理,旁路等的功能模組擴充套件;
  • 具備中國密碼合規的傳輸層國密演算法支援;

開源的 MOSN 和螞蟻金服內部使用的 MOSN 是同一個版本嗎?

首先螞蟻金服內部並沒有一個所謂獨立的 MOSN 版本。螞蟻金服內部有較多的基於 MOSN 開發的模組,內部模組依賴開源版的 MOSN。業務無關的 MOSN 核心能力的研發,均是直接在開源版本上進行。

MOSN 的開源版本和商業版本的區別是什麼?

螞蟻金服有 Mesh 商業產品,商業產品主要是提供從開發到部署再到執行時的一套完整的解決方案,同時為了滿足商業使用者自身的業務需求會對 MOSN 進行擴充套件,所以所謂的 MOSN 商業版本主要是承載了商業使用者自身業務模組的版本。

MOSN 的開源計劃是什麼?

MOSN 開源的釋出週期是一個月,我們即將公佈 2020 年的 Roadmap,期待與更多企業共建。

MOSN 支援 Istio 的什麼版本?什麼時候可以在 Istio 中可用?

目前 MOSN 可基於 Istio 1.1.4 跑通 bookinfo example,由於最新版本的 Istio 對 XDS 協議進行了升級以及部分能力增強,MOSN 當前正在適配 Istio 中,預計 2020 年 10 月份會完整支援高版本 Istio 的 HTTP 系能力。為此,MOSN 社群專門成立了 MOSN Istio Working Group 從事 MOSN 適配 Istio 的工作。

MOSN 支援哪些服務註冊和發現機制?

MOSN 主要支援兩種服務註冊與發現機制:一種是直接和 Istio 適配,另一種是整合 SDK,與不同的註冊中心和配置中心來搭配使用。

如何參與 MOSN 開源社群?

MOSN 社群分為使用者組和按需求建立的 Working Group。您可以使用釘釘掃描社群頁面上的二維碼加入 MOSN 使用者群,參與社群討論,獲取社群最新活動通知。訪問 Community 倉庫瞭解 MOSN 開源社群的組織架構和獲取社群資料。

更多原創文章乾貨分享,請關注公眾號
  • 雲原生網路代理 MOSN FAQ
  • 加微信實戰群請加微信(註明:實戰群):gocnio

相關文章