【项目简介】WasmEdge - 云原生 WebAssembly Runtime
WasmEdge 现在由 CNCF 云原生计算基金会托管,是一个轻量级、高性能的 WebAssembly (WASM) runtime,为边缘进行了优化。WasmEdge 可以应用于 severless 云函数、SaaS、区块链智能合约、物联网、汽车实时软件应用等多种场景。
从技术上讲,WasmEdge 的独特之处在于:
- 通过 LLVM AOT 支持,WasmEdge 的性能还是比较好的,具体可以查看在 IEEE software 上发表的论文。
- 除了完全兼容 WebAssembly/WASI 标准外,WasmEdge 还有以下扩展
- Network scoket,已经有 Rust 与 JavaScript SDK
- Async polling,可用于 Rust Future 和 JS async
- TensorFlow 推理,同样也有了 Rust SDK
- 关键值存储
- 数据库连接器
- 限制资源的 gas meter
- JavaScript 支持
- ES6 Module 和 std API 支持
- 用 Rust 实现 JS API
- 将本地 C 共享库函数导入为 JS 函数
- 云原生管理和编排
- 使用 CRI-O 和 Kubernetes 管理 WebAssembly 应用
- 基于 K8s 的 service mesh 里的 sidecar 应用
- Dapr 微服务
- 跨平台支持
- 2010年以后的 Linux OS,X86 与 ARM CPU 均支持
- X86 和 M1 的 Mac OS
- Windows
- Microkernel 和 seL4 RTOS
- 非常容易扩展
- 可以用 C 或 Go 构建特定的 runtime
- 非常容易嵌入 host 应用
- 将 WasmEdge 函数嵌入 C, Go, Rust, Node.js host 应用中
- 将函数 runtime 嵌入到 service mesh proxy 中