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

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

小结

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

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

相关推荐
羊羊羊i1 小时前
使用Informer监听K8s资源
云原生·容器·kubernetes
小羊羊Python2 小时前
Sound Maze - 基于 SFML+C++14 的音效迷宫开源游戏 | MIT 协议
c++·游戏·开源
VermiliEiz2 小时前
二进制文件部署k8s方式(5)
云原生·容器·kubernetes
optimistic_chen3 小时前
【Redis系列】主从复制
linux·数据库·redis·缓存·中间件·命令行·主从复制
释怀不想释怀4 小时前
3.3 DockerCompose(快速部署)
云原生·eureka
Van_Moonlight4 小时前
RN for OpenHarmony 实战 TodoList 项目:已完成未完成数量显示
javascript·开源·harmonyos
深蓝电商API4 小时前
Scrapy中间件实战:自定义请求头和代理池实现
python·scrapy·中间件
济南壹软网络科技有限公司4 小时前
基于 ThinkPHP 8.1 + Workerman 的全开源商业级游戏陪玩系统技术架构设计
游戏·开源·游戏陪玩·php护航·商业版游戏护航
大厂技术总监下海5 小时前
大数据生态的“主动脉”:RocketMQ 如何无缝桥接 Flink、Spark 与业务系统?
大数据·开源·rocketmq
计算机小手5 小时前
Docker 部署 weserv-images:打造非侵入式图片处理中间件
图像处理·经验分享·docker·中间件