千家信息网

MOSN核心概念是什么

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"MOSN核心概念是什么",在日常操作中,相信很多人在MOSN核心概念是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"MOSN核心概念是什么"的疑惑
千家信息网最后更新 2026年11月03日MOSN核心概念是什么

这篇文章主要介绍"MOSN核心概念是什么",在日常操作中,相信很多人在MOSN核心概念是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"MOSN核心概念是什么"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

MOSN 核心概念

MOSN 主要划分为如下模块,包括了网络代理具备的基础能力,也包含了 xDS 等云原生能力。

xDS(UDPA)支持

MOSN 支持云原生统一数据面 API(UDPA),支持全动态配置更新。

xDS 是 Envoy 创建的一个关键概念,它是一类发现服务的统称,其包括如下几类:

  • CDS:Cluster Discovery Service

  • EDS:Endpoint Discovery Service

  • SDS:Secret Discovery Service

  • RDS:Route Discovery Service

  • LDS:Listener Discovery Service

正是通过对 xDS 的请求来动态更新 Envoy 配置,另外还有个 ADS(Aggregated Discovery Service)通过聚合的方式解决以上 xDS 的更新顺序问题。

业务支持

MOSN 作为底层的高性能安全网络代理,支撑了 RPC、消息(Messaging)、网关(Gateway)等业务场景。

IO 模型

MOSN 支持以下两种 IO 模型:

  • Golang 经典 netpoll 模型:goroutine-per-connection,适用于在连接数不是瓶颈的情况。

  • RawEpoll 模型:也就是 Reactor 模式,I/O 多路复用(I/O multiplexing)+ 非阻塞 I/O(non-blocking I/O)的模式。对于接入层和网关有大量长链接的场景,更加适合于 RawEpoll 模型。

netpoll 模型

MOSN 的 netpoll 模型如上图所示,协程数量与链接数量成正比,大量链接场景下,协程数量过多,存在以下开销:

  • Stack 内存开销

  • Read buffer 开销

  • Runtime 调度开销

RawEpoll 模型

RawEpoll 模型如上图所示,使用 epoll 感知到可读事件之后,再从协程池中为其分配协程进行处理,步骤如下:

  1. 链接建立后,想 Epoll 注册 oneshot 可读事件监听;并且此时不允许有协程调用 conn.read,避免与 runtime netpoll 冲突。

  2. 可读事件到达,从 goroutine pool 挑选一个协程进行读事件处理;由于使用的是 oneshot 模式,该 fd 后续可读事件不会再触发。

  3. 请求处理过程中,协程调度与经典 netpoll 模式一致。

  4. 请求处理完成,将协程归还给协程池;同时将 fd 重现添加到 RawEpoll 中。

协程模型

MOSN 的协程模型如下图所示。

  • 一条 TCP 连接对应一个 Read 协程,执行收包、协议解析;

  • 一个请求对应一个 worker 协程,执行业务处理,proxy 和 Write 逻辑;

常规模型一个 TCP 连接将有 Read/Write 两个协程,我们取消了单独的 Write 协程,让 workerpool 工作协程代替,减少了调度延迟和内存占用。

能力扩展

协议扩展

MOSN 通过使用同一的编解码引擎以及编/解码器核心接口,提供协议的 plugin 机制,包括支持:

  • SOFARPC

  • HTTP1.x/HTTP2.0

  • Dubbo

NetworkFilter 扩展

MOSN 通过提供 network filter 注册机制以及统一的 packet read/write filter 接口,实现了 Network filter 扩展机制,当前支持:

  • TCP proxy

  • Fault injection

StreamFilter 扩展

MOSN 通过提供 stream filter 注册机制以及统一的 stream send/receive filter 接口,实现了 Stream filter 扩展机制,包括支持:

  • 流量镜像

  • RBAC 鉴权

TLS 安全链路

通过测试,原生的 Go 的 TLS 经过了大量的汇编优化,在性能上是 Nginx(OpenSSL)的80%,Boring 版本的 Go(使用 cgo 调用 BoringSSL)因为 cgo 的性能问题, 并不占优势,所以我们最后选择使用原生 Go 的 TLS,相信 Go Runtime 团队后续会有更多的优化,我们也会有一些优化计划。

Go vs Nginx 测试结果如下图所示:

  • Go 在 RSA 上没有太多优化,go-boring(CGO)的能力是 Go 的两倍。

  • p256 在 Go 上有汇编优化,ECDSA 优于go-boring。

  • 在 AES-GCM 对称加密上,Go 的能力是 go-boring 的 20 倍。

  • 在 SHA、MD 等 HASH 算法也有对应的汇编优化。

为了满足金融场景的安全合规,我们同时也对国产密码进行了开发支持,这个是 Go Runtime 所没有的。虽然目前的性能相比国际标准 AES-GCM 还是有一些差距,大概是 50%,但是我们已经有了后续的一些优化计划,敬请期待。

支持国密的性能测试结果如下图所示:

到此,关于"MOSN核心概念是什么"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

模型 支持 核心 概念 事件 机制 能力 处理 场景 开销 性能 模式 链接 学习 安全 业务 接口 数量 更多 问题 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网黑科技 广东猪兼强互联网科技有限公司 科技与互联网 河南真二互联网科技有限公司 互联网巨头反垄断金融科技 上海挚品互联网科技 小马过河互联网科技 长亮科技 互联网金融 互联网科技素材视频竖屏 武汉健翔互联网络科技有限公司 江阴互联网智能科技产品进口 杭州壁岐互联网科技有限公司 爱医互联网络科技 明优互联网科技有限公司 特约风豹互联网科技为什么扣费 沐思想互联网科技有限公司 锡山区互联网智能科技产品供应 互联网科技收购价值 数字科技和互联网金融哪个好 科技美学互联网 艺术 互联网科技公司怎么样 互联网科技公司官网 互联网科技美容 一五八零互联网科技 互联网科技素材视频竖屏 山东星卡互联网科技有限公司官网 东营紫格互联网科技 兰石爱特工业互联网科技分公司 互联网的科技体现在哪里 杭州科技互联网公司有哪些
0