扩展性

    WebAssembly 沙盒的目标:

    • 效率 - 这是一种低延迟,低 CPU 和内存开销的扩展机制。
    • 功能 - 这是一种可以执行策略,收集遥测数据和执行有效荷载变更的扩展机制。
    • 隔离 - 一个插件中程序的错误或是崩溃不会影响其它插件。
    • 运维 - 扩展可以以仅日志,故障打开或者故障关闭的方式进行访问和部署。
    • 扩展开发者 - 可以用多种编程语言编写。

    这个演讲视频是关于 WebAssembly 集成架构的介绍。

    • 过滤器服务提供商接口 用于为过滤器构建 Proxy-Wasm 插件。
    • 沙盒 在 Envoy 中嵌入 V8 Wasm 运行时。
    • 主机 API 用于处理请求头,尾和元数据。
    • 调出 API 针对 gRPC 和 HTTP 请求。
    • 统计和记录 API 用于度量统计和监控。

    扩展 Istio/Envoy

    为过滤器实现一个 Proxy-Wasm 插件需要:

    • 实现一个继承了 base context 类的 。
    • 重写 context API 的方法,以此处理来自主机的相应初始化和流事件。
    • 这个 和流 stream context

    C++ SDK 的详细说明见这里