开源推荐 云原生网络代理 MOSN FAQ

rootsongjc for 云原生代理 MOSN 开源团队 · 2020年03月11日 · 551 次阅读

为什么要使用 MOSN 替换 Istio 的数据面?

蚂蚁金服在进行 Mesh 改造前,已经预料到作为下一代蚂蚁金服的基础架构,Mesh 化势必带来革命性的变革以及演进成本,我们有非常宏大的蓝图:准备将原有的网络和中间件方面的各种能力重新沉淀和打磨,打造成为未来新一代架构的底层平台,承载各种服务通讯的职责。

这是一个需要多年时间打造,满足未来五年乃至十年需求的长期规划项目,合作共建团队跨业务、SRE、中间件、基础架构等部门。我们必须有一个具备灵活扩展、高性能、满足长期演进的网络代理转发平面。Nginx、Envoy 在网络代理领域有非常长期的能力积累和活跃的社区,我们也同时借鉴了 Nginx、Envoy 等其他优秀的开源网络代理, 同时在研发效率、灵活扩展等方面进行了加强,同时在整个 Mesh 改造涉及到非常多的部门和研发人员,必须考虑到跨团队合作的落地成本,所以我们基于 Go 自研了云原生场景下的新型网络代理 MOSN。对于 Go 的性能,我们前期也做了充分的调研和测试,满足蚂蚁金服业务对性能的要求。

同时我们从社区用户方面收到了很多的反馈和需求,大家有同样的需求以及思考,所以我们结合社区与自身的实际情况,从满足社区以及用户角度出发进行了 MOSN 的研发工作,我们认为开源的竞争主要是标准与规范的竞争,我们需要基于开源标准做最适合自身的实现选择。

MOSN 与 Envoy 不同点是什么?优势在哪里?

语言栈的不同

MOSN 使用 Go 语言编写,Go 语言在生产效率,内存安全上有比较强的保障,同时 Go 语言在云原生时代有广泛的库生态系统,性能在 Mesh 场景下被我们评估以及实践是可以接受的。所以 MOSN 对于使用 Go、Java 等语言的公司和个人的心智成本更低。

核心能力的差异化

  • MOSN 支持多协议框架,用户可以比较容易的接入私有协议,具有统一的路由框架;
  • 多进程的插件机制,可以通过插件框架很方便的扩展独立 MOSN 进程的插件,做一些其他管理,旁路等的功能模块扩展;
  • 具备中国密码合规的传输层国密算法支持;

开源的 MOSN 和蚂蚁金服内部使用的 MOSN 是同一个版本吗?

首先蚂蚁金服内部并没有一个所谓独立的 MOSN 版本。蚂蚁金服内部有较多的基于 MOSN 开发的模块,内部模块依赖开源版的 MOSN。业务无关的 MOSN 核心能力的研发,均是直接在开源版本上进行。

MOSN 的开源版本和商业版本的区别是什么?

蚂蚁金服有 Mesh 商业产品,商业产品主要是提供从开发到部署再到运行时的一套完整的解决方案,同时为了满足商业用户自身的业务需求会对 MOSN 进行扩展,所以所谓的 MOSN 商业版本主要是承载了商业用户自身业务模块的版本。

MOSN 的开源计划是什么?

MOSN 开源的发布周期是一个月,我们即将公布 2020 年的 Roadmap,期待与更多企业共建。

MOSN 支持 Istio 的什么版本?什么时候可以在 Istio 中可用?

目前 MOSN 可基于 Istio 1.1.4 跑通 bookinfo example,由于最新版本的 Istio 对 XDS 协议进行了升级以及部分能力增强,MOSN 当前正在适配 Istio 中,预计 2020 年 10 月份会完整支持高版本 Istio 的 HTTP 系能力。为此,MOSN 社区专门成立了 MOSN Istio Working Group 从事 MOSN 适配 Istio 的工作。

MOSN 支持哪些服务注册和发现机制?

MOSN 主要支持两种服务注册与发现机制:一种是直接和 Istio 适配,另一种是集成 SDK,与不同的注册中心和配置中心来搭配使用。

如何参与 MOSN 开源社区?

MOSN 社区分为用户组和按需求创建的 Working Group。您可以使用钉钉扫描社区页面上的二维码加入 MOSN 用户群,参与社区讨论,获取社区最新活动通知。访问 Community 仓库了解 MOSN 开源社区的组织架构和获取社区资料。

更多原创文章干货分享,请关注公众号
  • 加微信实战群请加微信(注明:实战群):gocnio
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册