| 语言 | 格式 | 评分 |
|---|---|---|
中文(简体) | .pdf | 3 |
| 摘要 | ||
文档介绍了MOSN和Envoy的融合方案(MoE),旨在结合MOSN的GoLang高效性和Envoy的高性能,解决传统服务治理中的痛点。MoE方案通过动态so加载提升编译速度,增强扩展能力,复用Envoy的高效网络通道,同时具备硬件加速和内存管理Zero Copy等特性。实践显示,MoE在性能上相比GoLang提升4倍,但相比Envoy下降20%。文档还讨论了内存管理、阻塞操作处理、GMP资源优化等问题,并提出了未来优化方向,如业务代码优化、内存管理优化等。MoE方案在Service Mesh领域具有重要价值,实现了技术共享和生态打通。 | ||
| AI总结 | ||
# MOSN 高性能网络扩展实践总结
## 1. 背景介绍
- **MoE(MOSN + Envoy)**:将 MOSN(GoLang)与 Envoy 融合,结合两者的优点,解决传统服务治理体系中的痛点,如多语言支持、中间件开发适配成本高、SDK 升级困难等。
- **技术趋势**:随着 Lua extension、WASM extension 和 External-proc extension 的发展,对扩展性、灵活性和生态的要求越来越高。
## 2. 方案介绍
- **核心目标**:
- 将 MOSN 作为 Envoy 的动态共享对象(Dynamic Shared Object),提升编译速度。
- 增强 Envoy 的扩展能力,复用 MOSN 现有的过滤器(Filter)能力。
- **主要优势**:
- 复用 Envoy 的高效网络通道(如 gRPC 通道)。
- 支持硬件加速集成能力。
- 内存管理采用 Zero Copy 技术。
- 同时具备云原生 xDS、REST API 服务元数据管理通道能力。
- 实现 MOSN/GoLang 和 Envoy 生态的打通,增强 Service Mesh、Dapr 等领域的生态。
- **性能对比**:
- MOSN 的 RT 消耗在 0.05 ms 左右。
- 相比 GoLang 自身的 HTTP2 处理能力,性能提升约 4 倍。
- 相比 Envoy,性能下降约 20%,但解决了用户在扩展性、灵活性和生态上的痛点,未来有优化空间。
## 3. 实践效果
- **当前状态**:MoE 已在经济体互通网关蚂蚁侧场景灰度运行,平稳运行约 1 个月。
- **优化方向**:
- 业务代码优化:减少对象数量。
- 内存管理优化:jemalloc 替换 tcmalloc、堆外内存管理。
- Runtime 优化:cgocheck 调优、P 分组管理等。
- 交互协议优化:减少 CGO 交互次数。
- 复用 xDS 服务元数据通道、L4/L7 Filter、Cluster LB 和 State 统计。
## 4. 未来计划(Roadmap)
- **技术优化**:进一步提升性能,优化内存管理和 runtime 表现。
- **生态扩展**:增强与 Envoy 和 MOSN 社区的技术共享,推动 Service Mesh、Dapr 等领域的生态发展。
- **功能完善**:扩展非 xDS 服务发现、L4/L7 Filter、Xprotocol 支持,完善 Debug 和 Admin 管理能力。
## 5. 价值意义
- **技术共享**:融合 Envoy 和 MOSN 的优势,提升整体性能和扩展性。
- **生态粘性**:增强 Envoy 和 GoLang 社区的生态粘性,推动技术共享与协作。
## 6. 结语
MoE 方案通过结合 MOSN 和 Envoy 的优势,解决了传统服务治理体系中的痛点,同时为未来的扩展和优化提供了方向。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
22 页请下载阅读 -
文档评分














01. MOSN 高性能网络扩展实践 - 王发康