cfanbo / cfanbo.github.io

1 stars 0 forks source link

envoy中 lua filter 与 wasm filter使用教程 | 学习笔记 #2

Open cfanbo opened 1 year ago

cfanbo commented 1 year ago

https://blog.haohtml.com/posts/Lua-Filter-and-Wasm-Filter-in-Envoy/?

在 Envoy 中当我们需要对 http_connection_manager 中的请求进行修改时,如添加或删除一个请求header,一般通过 HTTP Filter 过滤器来实现。 而在Envoy 包含的几十个Filter中,通常会选择 Lua Filter (extensions.filters.http.lua.v3.Lua) 或 Wasm Filter (extensions.filters.http.wasm.v3.Wasm)这两类过滤器。 Lua Filter 与 Wasm Filter 下表是 Lua Filter 与 HTTP Filter 的对比 Lua Filter Wasm Filter 编程语言 Lua,解释型脚本语言 WebAssembly,编译型语言 运行环境 Envoy 内置的 Lua 虚拟机 Envoy 内嵌的 WebAssembly 虚拟机 生态系统 丰富的 Lua 库可供使用 逐渐形成的 WebAssembly 生态系统 性能 较低 较高 安全性 较弱 较强 可移植性 受宿主环境和依赖库限制 平台无关的二进制格式,可在不同环境中运行 在不同的环境中Lua 的行为和功能可能略有差异,特别是在与底层操作系统和硬件交互的方面,而 Wasm 则没有这个问题。 但对于选择哪类 Filter 扩展 Envoy 的过滤器逻辑时,需要根据你的需求和对编程语言的熟悉程度。

suyanhj commented 5 months ago

爱了,大佬,找了好久lua写envoy自定义标头,终于找到了