先判断值不值得学

这套资料讲的是用 Go 写 WebAssembly,去扩展 Envoy 网关的过滤逻辑。它解决的是非常具体的工程场景:当现成的限流、鉴权或改写规则满足不了业务需求,Lua 脚本又扛不住复杂度或性能要求时,你需要写一段自定义代码挂到 Envoy 上,按自己的规则拦请求、改响应头、做路由分发。如果你手头的网关层是 Envoy 或基于它二次封装的 Istio,且团队正在往云原生迁移,这门课能直接帮你在网关侧落地定制逻辑。如果你只是想学个微服务框架写业务代码,或者完全没碰过网关配置,这门课不适合你,硬学容易卡在环境搭建上。

适合什么基础,建议怎么看

资料明确说不适合新手,这点需要先认清。看之前你得有 Go 语法基础,得能看懂基础的 HTTP 协议,最好自己搭过 Envoy 并改过几行配置文件。如果是纯转行刚摸 Go 的人,建议先去补完网关和反向代理的基础概念再来。拿到资料后,建议按三步走:先只看第一章的前两节,把本地跑通一个最小的 Wasm 扩展,确认编译工具链和 Envoy 版本对得上;接着跳到给响应加头和获取请求路径那几节,跟着敲一遍,重点搞懂 Envoy 是怎么把请求上下文传给 Wasm 虚拟机的;最后把本地测试那节吃透,因为 Wasm 扩展最难的不是写代码,而是本地怎么方便地调试和验证逻辑对不对。

学完能独立做什么,资料怎么配合练

看完这套资料,你应该能独立给 Envoy 写一个带业务语义的自定义过滤器。比如根据 URL 里的 query 参数去查内部权限接口,判断放行还是拦截;或者在网关层统一给下游响应注入特定的 Header。练习时不要光跟着视频敲,要把资料里的代码片段当成骨架,自己改写业务逻辑。建议每听完一个知识点,就改写一下过滤规则,比如把判断参数从 query 换成 Header,或者把拦截逻辑改成改写路径。资料里提到的多 Filter 配置和共享虚拟机数据那块,一定要自己动手配一遍,理解多个 Wasm 模块在同一个 Envoy 里是怎么共存和传数据的。这套课的价值在于把复杂的网关扩展流程拆成了能落地的步骤,你只要把本地测试套路跑顺,后面写什么定制逻辑都是套模板。


本课程是针对envoy进行扩展的专门课程,之前讲过luafilter,那么可以使用wasm 。本课程不适合新手,课程使用的wasm是go写的

课程目录

*   第一章:wasm基本套路入门 cplist.push('第一章:wasm基本套路入门');/

  *   第1讲:开张课、课程基本内容和wasm环境

  *   第2讲:快速完成第一步wasm代码编写

  *   第3讲:给响应加头、编译wasm 、配置Envoy

  *   第4讲:获取当前请求路径+参数、打印日志

  *   第5讲:模拟根据query参数“判断用户是否可访问”

  *   第6讲:多filter配置、共享vm 数据的基本姿势

  *   第7讲:envoy注入配置值到wasm的基本姿势

  *   第8讲:本地测试wasm 扩展的简单套路