WasmEdge (之前名为 SSVM) 是为边缘计算优化的轻量级、高性能、可扩展的 WebAssembly (Wasm) 虚拟机,可用于云原生、边缘和去中心化的应用。WasmEdge 是目前市场上 最快的 Wasm 虚拟机。WasmEdge 是由 CNCF (Cloud Native Computing Foundation 云原生计算基金会)托管的官方沙箱项目。其应用场景包括 serverless apps, 嵌入式函数、微服务、智能合约和 IoT 设备。
🚀 安装 WasmEdge
🤖 Build 并贡献给 WasmEdge
⌨️ 从 CLI 跑一个独立的 Wasm 程序或 JavaScript 程序
🔌 嵌入一个 Wasm 函数在你的Node.js, Go语言或 Rust 应用里
🛠 使用 Docker 工具、数据流框架, 和 区块链 管理和编排 Wasm runtimes
WasmEdge Runtime为其执行的 Wasm 字节码程序提供了一个有良好定义的执行沙箱。本 Runtime 为操作系统资源(例如,文件系统、sockets、环境变量、进程)和内存空间提供隔离和保护。 WasmEdge 最重要的用例是作为软件产品(例如,SaaS、软件定义的汽车、边缘节点,甚至区块链节点)中的插件安全地执行用户定义或社区贡献的代码。 它使第三方开发者、软件供应商和社区成员能够扩展和定制软件产品。
查看 WasmEdge 的应用场景。
- 论文:高性能 Serverless 计算的轻量级设计,发布于 IEEE Software, 2021年1月。 https://arxiv.org/abs/2010.07115
- 文章:Performance Analysis for Arm vs. x86 CPUs in the Cloud,发布于 infoQ.com, 2021年1月。 https://www.infoq.com/articles/arm-vs-x86-cloud-performance/
WasmEdge 可以运行从 C/C++、Rust、Swift、AssemblyScript 或 Kotlin 源代码编译的标准 WebAssembly 字节码程序。 它还通过嵌入式 QuickJS 引擎运行 JavaScript。 WasmEdge 支持所有标准的 WebAssembly 特性和提议的扩展。 它还支持许多为云原生和边缘计算用途量身定制的扩展(例如,WasmEdge Tensorflow 扩展)。
WebAssembly 的 WasmEdge 扩展通常作为 Rust SDK 或 JavaScript APIs 提供给开发者。
WasmEdge 及其包含的 wasm 程序可以作为新进程或从现有进程从 CLI 启动。 如果从现有进程(例如,从正在运行的 Node.js 或 Go 或 Rust 程序)启动,WasmEdge 将简单地作为函数在进程内运行。 目前,WasmEdge 还不是线程安全的。 为了在您自己的应用程序或云原生框架中使 WasmEdge,请参考以下指南。
如果您想为 WasmEdge 项目做出贡献,请参阅我们的 CONTRIBUTING 文档了解详情。 想要获得灵感,可查看需求清单!
如有任何疑问,请随时在相关项目上提 GitHub issue,或加入下列频道:
- 邮件清单:发送邮件至 [email protected]
- Slack: 加入 #WasmEdge 组群: CNCF Slack
- 推特:在Twitter关注 @realwasmedge