MOSN(Modular Open Smart Network)是一款主要使用 Go 語言開發的云原生網絡代理平臺

前言

大家好,我是老馬。

sofastack 其實出來很久了,第一次應該是在 2022 年左右開始關注,但是一直沒有深入研究。

最近想學習一下 SOFA 對于生態的設計和思考。

sofaboot 系列

SOFABoot-00-sofaboot 概覽

SOFABoot-01-螞蟻金服開源的 sofaboot 是什么黑科技?

SOFABoot-02-模塊化隔離方案

SOFABoot-03-sofaboot 介紹

SOFABoot-04-快速開始

SOFABoot-05-依賴管理

SOFABoot-06-健康檢查

SOFABoot-07-版本查看

SOFABoot-08-啟動加速

SOFABoot-09-模塊隔離

SOFABoot-10-聊一聊 sofatboot 的十個問題

MOSN 簡介

MOSN(Modular Open Smart Network)是一款主要使用 Go 語言開發的云原生網絡代理平臺,由螞蟻集團開源并經過雙 11 大促幾十萬容器的生產級驗證。

MOSN 為服務提供多協議、模塊化、智能化、安全的代理能力,融合了大量云原生通用組件,同時也可以集成 Envoy 作為網絡庫,具備高性能、易擴展的特點。

MOSN 可以和 Istio 集成構建 Service Mesh,也可以作為獨立的四、七層負載均衡,API Gateway、云原生 Ingress 等使用。

核心能力

  • Istio 集成
    • 集成 Istio 1.10 版本,可基于全動態資源配置運行
  • 核心轉發
    • 自包含的網絡服務器
    • 支持 TCP 代理
    • 支持 UDP 代理
    • 支持透明劫持模式
  • 多協議
    • 支持 HTTP/1.1,HTTP/2
    • 支持基于 XProtocol 框架的多協議擴展
    • 支持多協議自動識別
    • 支持 gRPC 協議
  • 核心路由
    • 支持基于 Domain 的 VirtualHost 路由
    • 匹配條件路由
      • Headers/Path/Prefix/Variable/DSL
    • 路由模式
      • 重定向
      • 直接響應
      • 流量鏡像
    • 高級路由
      • 基于 Metadata 的分組路由
      • 基于權重的路由
    • 配置支持
      • 基于路由匹配的重試
      • 基于路由匹配的超時配置
      • 基于路由匹配的請求頭/響應頭處理
  • 后端管理 & 負載均衡
    • 連接管理
      • 支持連接池管理
      • 支持長連接心跳處理
    • 容錯機制
      • 支持熔斷
      • 支持后端主動健康檢查
    • 負載均衡策略
      • Random/RR/WRR/EDF 等
      • 基于 Metadata 的分組策略
    • 后端集群模式
      • OriginalDst/DNS/SIMPLE
      • 支持自定義擴展集群模式
  • 可觀察性
    • Trace 模塊
      • 格式可擴展
      • 集成 jaeger/skywalking
    • Metrics
      • 基于 prometheus 格式
    • 日志
      • 支持可配置的 AccessLog
    • 管理接口
      • 可擴展的 Admin API
    • 監控
      • 集成 Holmes,自動監控 pprof
  • TLS
    • 證書管理
      • 多證書匹配模式
      • TLS Inspector 模式
      • 基于 SDS 的動態證書獲取/更新
      • 可擴展的證書管理機制
    • 國密支持
      • 基于 CGo 的國密套件
  • 進程管理
    • 支持平滑升級(連接/配置遷移)
    • 支持優雅退出
  • 擴展能力
    • 插件擴展
      • 基于 go-plugin 的模式
      • 基于進程的擴展模式
      • 基于 WASM 的擴展模式
    • 自定義擴展
      • 支持自定義擴展配置
      • 支持四層/七層 Filter 擴展

小結

希望本文對你有所幫助,如果喜歡,歡迎點贊收藏轉發一波。

我是老馬,期待與你的下次相遇。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/74350.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/74350.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/74350.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

微信小程序日常開發問題整理

微信小程序日常開發問題整理 1 切換渲染模式1.1 WebView 的鏈接在模擬器可以打開,手機上無法打開。 1 切換渲染模式 1.1 WebView 的鏈接在模擬器可以打開,手機上無法打開。 在 app.json 中看到如下配置項,那么當前項目就是 keyline 渲染模式…

【Altium Designer】銅皮編輯

一、動態銅皮與靜態銅皮的區分與切換 動態銅皮(活銅): 通過快捷鍵 PG 創建,支持自動避讓其他網絡對象,常用于大面積鋪銅(如GND或電源網絡)。修改動態銅皮后,需通過 Tools → Polygo…

Java「Deque」 方法詳解:從入門到實戰

Java Deque 各種方法解析:從入門到實戰 在 Java 編程中,Deque(雙端隊列)是一個功能強大的數據結構,允許開發者從隊列的兩端高效地添加、刪除和檢查元素。作為 java.util 包中的一部分,Deque 接口繼承自 Qu…

ffmpeg+QOpenGLWidget顯示視頻

?一個基于 ?FFmpeg 4.x? 和 QOpenGLWidget的簡單視頻播放器代碼示例,實現視頻解碼和渲染到 Qt 窗口的功能。 1)ffmpeg庫界面,視頻解碼支持軟解和硬解方式。 硬解后,硬件解碼完成需要將數據從GPU復制到CPU。優先采用av_hwf…

深入解析嵌入式內核:從架構到實踐

一、嵌入式內核概述 嵌入式內核是嵌入式操作系統的核心組件,負責管理硬件資源、調度任務、處理中斷等關鍵功能。其核心目標是在資源受限的環境中提供高效、實時的控制能力。與通用操作系統不同,嵌入式內核通常具有高度可裁剪性、實時性和可靠性&#xff…

20250324-使用 `nltk` 的 `sent_tokenize`, `word_tokenize、WordNetLemmatizer` 方法時報錯

解決使用 nltk 的 sent_tokenize, word_tokenize、WordNetLemmatizer 方法時報錯問題 第 2 節的手動方法的法1可解決大部分問題,可首先嘗試章節 2 的方法 1. nltk.download(‘punkt_tab’) LookupError: *******************************************************…

『 C++ 』多線程同步:條件變量及其接口的應用實踐

文章目錄 條件變量概述條件變量簡介條件變量的基本用法 案例:兩個線程交替打印奇偶數代碼解釋 std::unique_lock::try_lock_until 介紹代碼示例代碼解釋注意事項 std::condition_variable::wait 詳細解析與示例std::condition_variable::wait 接口介紹代碼示例代碼解…

【VolView】純前端實現CT三維重建-CBCT

文章目錄 什么是CBCTCBCT技術路線使用第三方工具使用Python實現使用前端實現 純前端實現方案優缺點使用VolView實現CBCT VolView的使用1.克隆代碼2.配置依賴3.運行4.效果 進階:VolView配合Python解決卡頓1.修改VtkThreeView.vue2.新增Custom3DView.vue3.Python生成s…

debug - 安裝.msi時,為所有用戶安裝程序

文章目錄 debug - 安裝.msi時,為所有用戶安裝程序概述筆記試試在目標.msi后面直接加參數的測試 備注備注END debug - 安裝.msi時,為所有用戶安裝程序 概述 為了測試,裝了一個test.msi. 安裝時,只有安裝路徑的選擇,沒…

Java Stream兩種list判斷字符串是否存在方案

這里寫自定義目錄標題 背景初始化方法一、filter過濾方法二、anyMatch匹配 背景 在項目開發中,經常遇到篩選list中是否包含某個子字符串,有多種方式,本篇主要介紹stream流的filter和anyMatch兩種方案,記錄下來,方便備…

DeepSeek vs 通義大模型:誰將主導中國AI的未來戰場?

當你在深夜調試代碼時,是否幻想過AI伙伴能真正理解你的需求?當企業面對海量數據時,是否期待一個真正智能的決策大腦? 這場由DeepSeek和通義領銜的大模型之爭,正在重塑中國AI產業的競爭格局。本文將為你揭開兩大技術巨頭的終極對決! 一、顛覆認知的技術突破 1.1 改變游戲…

3. 軸指令(omron 機器自動化控制器)——>MC_SetOverride

機器自動化控制器——第三章 軸指令 12 MC_SetOverride變量?輸入變量?輸出變量?輸入輸出變量 功能說明?時序圖?重啟運動指令?多重啟動運動指令?異常 MC_SetOverride 變更軸的目標速度。 指令名稱FB/FUN圖形表現ST表現MC_SetOverride超調值設定FBMC_SetOverride_instan…

從像素到世界:自動駕駛視覺感知的坐標變換體系

接著上一篇 如何讓自動駕駛汽車“看清”世界?坐標映射與數據融合詳解的概述,這一篇詳細講解自動駕駛多目視覺系統設計原理,并給出應用示例。 摘要 在自動駕駛系統中,準確的環境感知是實現路徑規劃與決策控制的基礎。本文系統性地解析圖像坐標系、像素坐標系、相機坐標系與…

附錄B ISO15118-20測試命令

本章節給出ISO15118-20協議集的V2G命令,包含json、xml,并且根據exiCodec.jar編碼得到exi內容, 讀者可以參考使用,測試編解碼庫是否能正確編解碼。 B.1 supportedAppProtocolReq json: {"supportedAppProtocolReq": {…

VLAN章節學習

為什么會有vlan這個技術? 1.通過劃分廣播域來降低廣播風暴導致的設備性能下降; 2.提高網絡管理的靈活性和通過隔離網絡帶來的安全性; 3.在成本不變的情況下增加更多的功能性; VLAN又稱虛擬局域網(再此擴展&#xf…

FPGA時鐘約束

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 目錄 前言 一、Create_clock 前言 時鐘周期約束&#xff0c;就是對時鐘進行約束。 一、Create_clock create_clock -name <name> -period <period> -waveform …

機房布局和布線的最佳實踐:如何打造高效、安全的機房環境

機房布局和布線的最佳實踐:如何打造高效、安全的機房環境 大家好,我是Echo_Wish。今天我們來聊聊機房布局和布線的問題,這可是數據中心和IT運維中的一個非常重要的環節。不管是剛剛接觸運維的新人,還是已經摸爬滾打多年的老兵,都應該對機房的布局和布線有一個清晰的認識。…

spring-security原理與應用系列:建造者

目錄 1.構建過程 AbstractSecurityBuilder AbstractConfiguredSecurityBuilder WebSecurity 2.建造者類圖 SecurityBuilder ???????AbstractSecurityBuilder ???????AbstractConfiguredSecurityBuilder ???????WebSecurity 3.小結 緊接上一篇文…

OpenHarmony子系統開發 - 電池管理(二)

OpenHarmony子系統開發 - 電池管理&#xff08;二&#xff09; 五、充電限流限壓定制開發指導 概述 簡介 OpenHarmony默認提供了充電限流限壓的特性。在對終端設備進行充電時&#xff0c;由于環境影響&#xff0c;可能會導致電池溫度過高&#xff0c;因此需要對充電電流或電…

xy軸不等比縮放問題——AUTOCAD c#二次開發

在 AutoCAD .net api里&#xff0c;部分實體&#xff0c;像文字、屬性、插入塊等&#xff0c;是不支持非等比縮放的。 如需對AutoCAD中圖形進行xyz方向不等比縮放&#xff0c;則需進行額外的函數封裝。 選擇圖元&#xff0c;指定縮放基準點&#xff0c;scaleX 0.5, scaleY …