MOSN(Modular Open Smart Network)-00-聊一聊 MOSN

前言

大家好,我是老马。

sofastack 其实出来很久了,第一次应该是在 2022 年左右开始关注,但是一直没有深入研究。

最近想学习一下 SOFA 对于生态的设计和思考。

sofaboot 系列

SOFAStack-00-sofa 技术栈概览

MOSN(Modular Open Smart Network)-00-简单聊一聊

MOSN(Modular Open Smart Network)-01-是一款主要使用 Go 语言开发的云原生网络代理平台

MOSN(Modular Open Smart Network)-02-核心概念

MOSN(Modular Open Smart Network)-03-流量劫持

MOSN(Modular Open Smart Network)-04-TLS 安全链路

MOSN(Modular Open Smart Network)-05-MOSN 平滑升级原理解析

MOSN(Modular Open Smart Network)-06-MOSN 多协议机制解析

MOSN(Modular Open Smart Network)-07-Sidecar 模式

MOSN(Modular Open Smart Network)-08-MOSN 扩展机制解析

MOSN

1. 定义与背景

MOSN(Modular Open Smart Network)是由蚂蚁集团(原蚂蚁金服)于2018年7月开源的一款云原生网络代理平台,使用Go语言开发。

其核心定位是为服务提供分布式、模块化、可观察且智能化的代理能力,主要应用于Service Mesh的数据平面(https://github.com/sofastack/sofa-mosn)(https://mosn.io/)。名称中的"Open"和"Smart"体现了其开放生态与智能化流量管理的特点。

MOSN的诞生源于微服务架构演进中的痛点,例如多语言中间件适配成本高、SDK升级困难、服务治理能力不足等。

蚂蚁集团通过自研MOSN,将服务治理能力下沉至Sidecar,实现了业务逻辑与通信逻辑的解耦(https://www.sofastack.tech/projects/sofa-mosn/concept/smooth-upgrade/)。


2. 核心模块与架构

MOSN的架构设计遵循OSI分层思想,分为以下模块与层级:

架构采用工厂模式分层设计,各模块通过接口暴露功能,便于扩展(https://mosn.io/blog/code/)。


3. 技术特点与优势


4. 应用场景


5. 与同类产品的对比

  • Envoy(C++):

    • 语言优势:MOSN使用Go语言,开发效率高且内存安全,心智成本更低(尤其对Java/Go开发者)(https://mosn.io/blog/code/)]。
    • 协议扩展:MOSN提供统一的多协议框架,私有协议接入成本更低(https://mosn.io/blog/code/)]。
    • 流量劫持:Envoy依赖iptables,而MOSN通过端口注册实现透明劫持,升级方案更优(https://mosn.io/blog/code/)]。
  • Linkerd/NginxMesh:

    MOSN活跃度更高,且经过双十一等大规模场景验证(https://mosn.io/blog/code/)]。

MOSN凭借其模块化设计、高性能及云原生集成能力,已成为Service Mesh领域的重要开源项目。

随着社区生态的壮大,未来将进一步推动云原生网络技术的标准化与普及。

小结

希望本文对你有所帮助,如果喜欢,欢迎点赞收藏转发一波。

我是老马,期待与你的下次相遇。

相关推荐
工一木子7 分钟前
无意间发现的宝藏项目:开源世界中的演示项目精选合集
开源
LCY1332 小时前
6. k8s 之存储配置
云原生·容器·kubernetes
斯普信云原生组2 小时前
Zookeeper介绍与安装配置
分布式·zookeeper·云原生
运维Linux和python6 小时前
k8s中sidecar死循环
云原生·容器·kubernetes
和尚用0飘柔08 小时前
【中间件】redis使用
数据库·redis·中间件
佳腾_9 小时前
【消息队列RocketMQ】一、RocketMQ入门核心概念与架构解析
中间件·架构·消息队列·云计算·rocketmq
晨埃LUO定11 小时前
【k8s系列1】一主两从结构的环境准备
云原生·容器·kubernetes
风舞雪凌月13 小时前
【安全】DVWA靶场渗透
安全·web安全·云原生·eureka
Paraverse平行云13 小时前
如何使用UE Cesium插件实现网页端无算力负担访问?
云原生·webrtc
OpenTiny社区14 小时前
直播分享|TinyVue 多端实战与轻量图标库分享
前端·vue.js·开源