惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
V
V2EX
Engineering at Meta
Engineering at Meta
美团技术团队
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 司徒正美
I
InfoQ
S
SegmentFault 最新的问题
博客园 - 叶小钗
N
Netflix TechBlog - Medium
Y
Y Combinator Blog
IT之家
IT之家
博客园 - Franky
大猫的无限游戏
大猫的无限游戏
人人都是产品经理
人人都是产品经理
T
The Blog of Author Tim Ferriss
月光博客
月光博客
The Cloudflare Blog
U
Unit 42
GbyAI
GbyAI
L
LangChain Blog
Microsoft Azure Blog
Microsoft Azure Blog

博客园 - toong

envoy离线编译方法 Kubernetes AI Gateway Kind 归属地图 kubuntu通过flatpak安装软件 ai-gateway 安装记录 家用台式工作站软件配置 envoy DDOS HTTP/2 Bomb CVE-2026-47774 安全漏洞分析 envoy源码分析(十四)-- XDS的启动流程 P2P与FRP与websocket ros2入门(零)-- 难点与挑战 ros2入门(二)-- 基本概念 python运行虚拟化环境 大模型从0到1 envoy源码分析(十二)-- XDS/GRPC 绑定网卡中断后是否需要设置RFS linux socket reuse port 小测试 envoy源码分析(十一)--性能分析 envoy源码分析(十)--事件机制专项分析 envoy源码分析(八)--main线程专项分析 envoy源码分析(九) -- circuit breakers 现代C++ envoy timeout 说明 观察中断的脚本 /proc/interrupts openssl查看编译时选项设置的方法 内核ipsec转发优化方法 提高ipsec多核并行能力的优化方法之一 tc qdisc 的burst如何设置 bash模拟netstat取值的脚本 linux内核对MSI网卡队列的smp_affinity亲和CPU选择 bash多并发--进程池数量控制 bash单例模式
envoy源码分析(十三)-- WASM
toong · 2026-02-09 · via 博客园 - toong

一,概述

envoy语境下的WASM是envoy运行第三方代码的一种方式,有两个特性:

1 插件式

2 沙箱式

其借用WASM机制,该机制是浏览器运行插件的方式,全称 webassembly

下面是全文摘要的思维导图

proxy-wasm-mindmap

二,envoy-wasm

为了实现上述功能,envoy支持一种extension,叫envoy-wasm, 特点:

1  每worker独立的沙箱。所有listener共享相同的沙箱。

2  envoy设计了三种概念,context, VM, plugin, 可以在配置结构与代码中体系。

3  有四个hook点 http-filter, L4-filter, stats Sink, accesslog, 以及 backend service

4  envoy extension基于 工程 prox-wasm 实现。

相关文档:

https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/wasm.html

envoy-wasm配置示例

 https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/wasm_filter.html

三,proxy-wasm

proxy-wasm 工程也是envoy延伸的,设计初衷与由来,可以见下面的文档,非常推荐读

https://github.com/proxy-wasm/spec/blob/main/docs/WebAssembly-in-Envoy.md

该工程分两类代码,一类是跑沙箱的host代码,一类是跑业务的SDK代码。

如前文的图所示。

https://github.com/proxy-wasm/proxy-wasm-cpp-host

https://github.com/proxy-wasm/proxy-wasm-cpp-sdk

其中 proxy-wasm-cpp-host里封装了沙箱软件,一个5个。

四,WASM(sandbox)

 AI来的:

各个引擎的官方信息和特点:

1. V8 (Google)

  • 官网: https://v8.dev/
  • 特点: Google Chrome 的 JavaScript 引擎,WebAssembly 支持非常成熟
  • 优势: 性能优秀,生态完善,广泛应用于 Chrome 和 Node.js

2. Wasmtime (Bytecode Alliance)

  • 官网: https://wasmtime.dev/
  • 特点: 由 Mozilla、Fastly、Intel 等公司组成的 Bytecode Alliance 开发
  • 优势: 专注于服务器端 WebAssembly,安全性高,性能优秀

3. WasmEdge (CNCF 项目)

  • 官网: https://wasmedge.org/
  • 特点: 云原生计算基金会 (CNCF) 项目,专注于边缘计算和云原生场景
  • 优势: 轻量级,启动速度快,支持多种编程语言

4. WAMR (Bytecode Alliance)

5. Null VM

  • 特点: 这不是一个真正的 WebAssembly 引擎,而是一个特殊的"空"运行时
  • 用途: 用于开发和测试,允许直接在主机环境中运行插件代码