MOSN 釋出 V0.15.0 版本,具體變更如下:
我們很高興的宣佈 MOSN v0.15.0 釋出,恭喜鄧茜(@dengqian)成為 MOSN Committer,感謝她為 MOSN 社群所做的貢獻。
以下是該版本的變更日誌。
新功能
最佳化
- 支援 istio 的 stats filter,可以根據匹配條件進行 metrics 的個性化記錄 @wzshiming
- Metrics 配置支援配置 Histogram 的輸出百分比 @champly
- StreamFilter 新增狀態用於直接中止請求,並且不響應客戶端 @taoyuanyuan
- XProtocol Hijack 響應支援攜帶 Body @champly
- Skywalking 升級到 0.5.0 版本 arugal
- Upstream 連線 TLS 狀態判斷修改,支援透過 TLS 配置的 Hash 判斷是否需要重新建立連線 @nejisama
- 最佳化 DNS cache 邏輯,防止在 DNS 失效時可能引起的 DNS flood 問題 @wangfakang
Bug 修復
- 修復開啟 TLS 加密場景下,XProtocol 協議在有多個協議的場景下判斷協議錯誤的 BUG @nejisama
- 修復 AccessLog 中字首匹配型別的變數不生效的 BUG @dengqian
- 修復 Listener 配置解析處理不正確的 BUG @nejisama
- 修復 Router/Cluster 在檔案持久化配置型別中,Name 欄位包含路徑分隔符時會儲存失敗的 BUG @nejisama
New Features
- Routing Path Rewrite supports configuring the content of Rewrite by regular expression @liangyuanpeng
- Configure new fields: Extended configuration fields, you can start the configuration by extending the configuration fields; Dubbo service discovery configuration via extended configuration fields @cch123
- New DSL feature for easy control of request processing behavior @wangfakang
- Extended implementation of StreamFilter with new traffic mirroring function @champly
- Listener configuration adds UDP support @dengqian
- Configuration format support YAML format parsing @GLYASAI
- Routing support for HTTP redirect configuration @knight42
Optimization
- Istio's stats filter for personalizing metrics based on matching criteria @wzshiming
- Metrics configuration support to configure the output percentage of the Histogram @champly
- StreamFilter New state for aborting requests directly and not responding to clients @taoyuanyuan
- XProtocol hijack response support carry body @champly
- Apache SkyWalking upgrade to version 0.5.0 arugal
- Upstream Connection TLS State Determination Modification to support the determination of whether a connection needs to be re-established via a TLS-configured Hash @nejisama
- Optimize DNS cache logic to prevent DNS flooding issues that can be caused when DNS fails @wangfakang
MOSN 簡介
MOSN(Modular Observable Smart Network), 是一款採用 GoLang 開發的 Service Mesh 資料平面代理, 功能和定位類似 Envoy,旨在提供分散式,模組化,可觀察,智慧化的代理能力。 MOSN 支援 Envoy 和 Istio 的 API,可以和 Istio 整合,。 MOSN 初始版本由螞蟻金服和阿里大文娛UC事業部攜手貢獻,期待社群一起來參與後續開發,共建一個開源精品專案。
核心能力
- Istio整合
- 整合 Istio 1.0 版本與 V4 API,可基於全動態資源配置執行
- 核心轉發
- 自包含的網路伺服器
- 支援 TCP 代理
- 支援 TProxy 模式
- 多協議
- 支援 HTTP/1.1,HTTP/2
- 支援 SOFARPC
- 支援 Dubbo 協議(基於XProtocol支援)
- 核心路由
- 支援 Virtual Host 路由
- 支援 Headers/URL/Prefix 路由
- 支援基於 Host Metadata 的 Subset 路由
- 支援重試
- 後端管理&負載均衡
- 支援連線池
- 支援熔斷
- 支援後端主動健康檢查
- 支援 Random/RR 等負載策略
- 支援基於 Host Metadata 的 Subset 負載策略
- 可觀察性
- TLS
- 支援 HTTP/1.1 on TLS
- 支援 HTTP/2.0 on TLS
- 支援 SOFARPC on TLS
- 程序管理
- 擴充套件能力
- 支援自定義私有協議
- 支援在 TCP IO 層,協議層面加入自定義擴充套件
Bug fixes
- Fix the bug that XProtocol protocols determine protocol errors in scenarios with multiple protocols when TLS encryption is enabled @nejisama
- Fix bug in AccessLog where variables of prefix match type don't work @dengqian
- Fix bug where Listener configuration parsing is not handled correctly @nejisama
- Fix Router/Cluster bug that fails to save when the Name field contains a path separator in the file persistence configuration type @nejisama