这门课解决什么工作场景
很多做服务网格和网关运维的开发者,在给 Envoy 做自定义扩展时,最先接触的往往是 Go 语言。但在真实的生产环境里,Go 版本的 wasm 插件存在一些底层功能限制,比如部分宿主接口调用受限或内存管理不够精细。这门资料的核心主题,就是解决“当 Go 写不下去时,如何用 Rust 接手 Envoy 的 wasm 扩展开发”。它专门针对那些需要深度定制流量过滤、请求改写或复杂鉴权逻辑的场景,帮你绕开 Go 生态目前的短板,用更底层、更契合 wasm 运行时的语言去实现高性能的网关插件。
适合什么基础与建议先看哪几块
这套资料不适合零基础转行者。它要求你具备基本的网关运维经验,最好之前用 Go 写过简单的 Envoy 扩展,了解 HTTP 过滤器的工作原理。对 Rust 语法有基本认知即可,不需要你是内存安全专家。建议拿到资料后,不要按顺序从头看,而是先集中看环境搭建与宿主接口交互这两块。重点理解 Rust 是如何与 Envoy 的底层 API 对接的,以及它和之前 Go 版本在处理请求上下文时有什么区别。把这部分差异弄清楚,你才能明白为什么有些功能必须要换语言来写。
学完能独立做什么与资料怎么配合练习
学完后,你能在公司的服务网格架构中,独立编写并部署一个生产级别的 Rust wasm 插件。比如实现一套复杂的动态路由转发,或者对特定响应体进行高性能清洗。在练习方式上,不要只看视频演示,必须把资料里的代码片段和配置文件结合起来跑。建议在本地起一个最小化的 Envoy 实例,每看完一个功能点,就直接修改 Rust 代码,重新编译为 wasm 模块挂载进去测试。通过观察 Envoy 的实际日志和请求响应结果,去验证插件逻辑是否生效。只有在这种反复编译和调试的过程中,你才能真正掌握这门语言在网关扩展里的实战手感。
课程目录
本课程是之前Go版本wasm扩展envoy扩展的延续和进阶。由于部分功能Go 目前不支持,所以必须要使用Rust 来写。同时未来凡是wasm相关的课程全部使用R






