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领域的重要开源项目。

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

小结

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

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

相关推荐
叹一曲当时只道是寻常44 分钟前
Softhub软件下载站实战开发(十):实现图片视频上传下载接口
golang·go·音视频
Wo3Shi4七1 小时前
双向队列
数据结构·算法·go
字节跳动开源1 小时前
AI 体验走查 - 火山引擎存储的 AI UX 探索之路
开源
Wo3Shi4七1 小时前
列表
数据结构·算法·go
Wo3Shi4七1 小时前
链表
数据结构·算法·go
九分源码1 小时前
基于PHP+MySQL组合开发开源问答网站平台源码系统 源码开源可二次开发 含完整的搭建指南
mysql·开源·php
Wo3Shi4七2 小时前
数组
数据结构·算法·go
&如歌的行板&2 小时前
如何在postman中动态请求k8s中的pod ip(基于nacos)
云原生·容器·kubernetes
泡泡_02242 小时前
云原生系统DOCKER中容器系统搭建
docker·云原生·容器
DemonAvenger2 小时前
Go内存压力测试:模拟与应对高负载的技术文章
性能优化·架构·go