SOFAMOSN Service Mesh 数据平面代理 SOFAMOSN

blov2018-08-13 17:30:01 • 5372 次点击    
这是一个分享于 2018-08-13 17:30:01 的项目,其中的信息可能已经有所发展或是发生改变。

MOSN 是一款采用 Golang 开发的 Service Mesh 数据平面代理,功能和定位类似 Envoy ,旨在提供分布式,模块化,可观察,智能化的代理能力。MOSN 支持 Envoy 和 Istio 的 API ,可以和 Istio 集成。SOFAMesh 中,我们使用 MOSN 替代 Envoy 。

初始版本由蚂蚁金服和阿里大文娱 UC 事业部携手贡献,期待社区一起来参与后续开发,共建一个开源精品项目。

Istio集成

集成 Istio 0.8 版本 Pilot V2 API,可基于全动态资源配置运行(即将升级到Istio 1.0版本和 V4 API)

核心转发

自包含的网络服务器

支持 TCP 代理

支持 TProxy 模式

多协议

支持 HTTP/1.1,HTTP/2

支持 SOFARPC

支持 Dubbo 协议(开发中)

支持 HSF 协议(开发中)

核心路由

支持 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 层,协议层面加入自定义扩展

参考这里

参考这里

基于 Golang 1.9.2 研发,使用 dep 进行依赖管理

Docs

Issues

代码贡献

MOSN 仍处在初级阶段,有很多能力需要补全,很多 bug 需要修复,欢迎所有人提交代码。我们欢迎您参与但不限于如下方面:

核心路由功能点补全

Outlier detection

Tracing 支持

HTTP/1.x, HTTP/2.0 性能优化

流控

感谢 Google、IBM、Lyft 创建了 Envoy、Istio 体系,并开源了优秀的项目,使 MOSN 有了非常好的参考,使我们能快速落地自己的想法。

Latest commit to the undefined branch on unknown
Download as zip
授权协议:
Apache 2.0
开发语言:
Google Go 查看源码»
操作系统:
跨平台
5372 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传