蚂蚁金服数据平面代理 SOFA Mosn 发布 v0.4.2 版本

  

发布 SOFA Mosn v0.4.2,主要变更如下:

i. 新功能支持

  • 支持配置文件拆分,Route、Cluster 动态独立配置,兼容原有配置模型
  • 支持端口维度配置多 TLS 证书,兼容原有配置模型
  • 支持自定义监听 MOSN 状态切换
  • 无损平滑流程优化
  • 单向无响应请求支持优化 
  • 支持通过 Metrics 获取 Mosn 上下文信息
  • 支持自定义 Metrics 输出维度
  • 支持错误日志级别批量修改、支持批量关闭 AccessLog

ii. 性能优化

  • Metrics 输出性能优化
  • 错误日志输出优化
  • SOFA codec 性能优化
  • 扩展 Context,去除多层 Context 嵌套优化性能,同时兼容标准 Context 使用

iii. 架构优化

  • Proxy 线程模型改造,引入状态机同步化 Stream 处理流程,并通过阶段 goroutine 支持同步操作
  • Connpool 选择逻辑优化,尽量避免选择到异常的后端

iv. BUG FIX

  • 修复 RawMessage 被错误解析为 base64 字符串的 BUG
  • 修复 HTTP1协议在特定场景下导致 Goroutine 泄漏的 BUG
  • 修复 IO Write 在并发场景下触发异常的 BUG
  • 修复 ADMIN API 中记录的HOST没有去重的 BUG

SOFAMosn 简介

MOSN(Modular Observable Smart Network), 是一款采用 GoLang 开发的 Service Mesh 数据平面代理, 功能和定位类似 Envoy,旨在提供分布式,模块化,可观察,智能化的代理能力。 MOSN 支持 Envoy 和 Istio 的 API,可以和 Istio 集成,在 SOFAMesh 中,我们使用 MOSN 替代 Envoy。 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
  • 进程管理
    • 支持平滑 reload
    • 支持平滑升级
  • 扩展能力
    • 支持自定义私有协议
    • 支持在 TCP IO 层,协议层面加入自定义扩展

猜你喜欢

转载自www.oschina.net/news/106474/sofamosn-0-4-2-released