【问题标题】:Can Envoy interpret wasm or is wasm opaque to it?Envoy 可以解释 wasm 还是 wasm 对它不透明?
【发布时间】:2020-05-19 21:50:23
【问题描述】:

代理 ENVOY 可以解释 wasm 文件吗?就像 wasm 文件对特使是透明的吗?我使用了一个 wasm 过滤器,它使用 envoy 更改 http 标头并对其进行 curl 以捕获 http 标头并显示 wasm 的解释版本而不是二进制文件。这确实意味着特使解释了wasm,只是想确认一下。这些资源太少了。

【问题讨论】:

    标签: emscripten envoyproxy wasm-bindgen


    【解决方案1】:

    缺少 WASM 的 Envoy 文档主要是因为支持尚未完全成熟。也就是说,我不确定我是否了解您的尝试或预期结果。

    WASM 过滤器的目的是允许开发人员添加 Envoy 过滤器,而无需:

    • 重新编译 Envoy 或
    • 用 C++ 编写过滤器。

    不是将 WASM 内容交付给客户端以供该客户端使用。尽管您可以编写一个 WASM 过滤器来执行此操作,并且也许您已经这样做了。

    但在预期的流程中,Envoy 运行一个或多个 WASM 虚拟机,这些虚拟机从本地磁盘或 URL 加载已编译的 WASM 二进制文件并将它们添加到过滤器堆栈中。然后调用这些过滤器并对请求和响应执行一些操作。

    所以现在我假设你有:

    1. 编译了一个支持 WASM 过滤器的 Envoy version
    2. 用您选择的语言编写一个 WASM 过滤器并编译 (C++)。
    3. 将 Envoy 配置为 use 您的过滤器。
    4. 启动 Envoy 并发出将受到过滤器影响的请求。

    如果您已完成上述所有操作,则过滤器设置的标题包含“WASM”的唯一方法是您在过滤器中填充了带有“WASM”的标题。如果这确实是您所做的,您应该知道标头大小不是无限的,任何非平凡的 WASM 过滤器都会出现大小问题。

    【讨论】:

      猜你喜欢
      • 2021-05-18
      • 1970-01-01
      • 2021-09-05
      • 1970-01-01
      • 2022-11-02
      • 1970-01-01
      • 1970-01-01
      • 2021-04-13
      • 2021-07-20
      相关资源
      最近更新 更多