Apache APISIX 在金山办公的开发和落地实践
4.88 MB
27 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
中文(简体) | .pdf | 3 |
摘要 | ||
文档介绍了金山办公在开发和落地实践中对Apache APISIX的应用和定制开发。作为早期受益者,金山办公利用Apache APISIX处理百万QPS的流量,并针对其性能和扩展性进行了深入优化。此外,文档探讨了在选择技术栈时的考量,例如OpenResty、Lua、Rust以及WASM等,分析了其优缺点以解决Nginx带来的问题,并通过Apache APISIX提供了设计优良的开发框架。 | ||
AI总结 | ||
《Apache APISIX 在金山办公的开发和落地实践》总结如下:
金山办公作为 Apache APISIX 的早期受益者,使用该框架承载百万级 QPS 的流量,并对其进行了深度定制开发。本文从以下几个方面总结了 Apache APISIX 在金山办公的实践经验:
1. **前情回顾**:
- 金山办公云原生应用组作为流量网关的负责团队,长期依赖 Nginx 和 OpenResty,但在性能和开发效率上面临问题。
- Lua 的 GC 回收机制对性能造成影响,尤其在高并发场景下表现不佳。
2. **关于 OpenResty 和 Lua 的思考**:
- Lua 在性能上存在瓶颈,尤其是类型转换和内存分配等问题。
- 排除了 C/C++ 和 WASM/WASI 等技术选项,认为 Rust 更符合内存安全和 ABI 兼容的需求。
3. **基于 Apache APISIX 破局**:
- Apache APISIX 提供了设计优异的开发框架,通过合理的插件机制和扩展能力,解决了 Nginx 的性能和灵活性问题。
- 借助 FTSE(软件工程基本定理),通过分层抽象优化了 IPC(进程间通信)问题。
4. **解决 Nginx 带来的问题**:
- 针对 Rust 的内存管理问题,避免在 Rust 中进行大段内存分配和指针回调 Lua。
- 通过性能测试验证优化方案,确保在极端情况下依然保持性能优势(.native 性能的 50% above)。
- 通过 ingo-lua 模块优化 Lua 执行效率,并基于 radixtree 提供更高效的路由选择。
综上,金山办公通过对 Apache APISIX 的深度定制和性能优化,成功解决了 Nginx 带来的问题,实现了高效、灵活的流量管理方案。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
20 页请下载阅读 -
文档评分