前言
大家好,我是老馬。
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
- Trace 模塊
- TLS
- 證書管理
- 多證書匹配模式
- TLS Inspector 模式
- 基于 SDS 的動態證書獲取/更新
- 可擴展的證書管理機制
- 國密支持
- 基于 CGo 的國密套件
- 證書管理
- 進程管理
- 支持平滑升級(連接/配置遷移)
- 支持優雅退出
- 擴展能力
- 插件擴展
- 基于 go-plugin 的模式
- 基于進程的擴展模式
- 基于 WASM 的擴展模式
- 自定義擴展
- 支持自定義擴展配置
- 支持四層/七層 Filter 擴展
- 插件擴展
小結
希望本文對你有所幫助,如果喜歡,歡迎點贊收藏轉發一波。
我是老馬,期待與你的下次相遇。