pdf文档 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 页请下载阅读 -
文档评分
请文明评论,理性发言.