WasmEdge (前名為 SSVM ) 是為邊緣運算最佳化的輕量級、高性能、可擴充的 WebAssembly (Wasm) 虛擬機器,可運用在雲端原生、邊緣運算、去中心化的應用程式。 WasmEdge 現今是目前市面上 最快的 Wasm 虛擬機器之一。 WasmEdge 是由 CNCF (Cloud Native Computing Foundation ,雲端原生運算基金會)託管的官方沙箱項目之一。其使用情境包含 serverless apps 、嵌入式函數、微型服務、智慧合約和 IoT 裝置。
🚀 安装 WasmEdge
🤖 編譯 並貢獻 WasmEdge
⌨️ 從 CLI 執行一個獨立的 Wasm 程式或 JavaScript 程式
🔌 在 Node.js 、 Go 語言、或是 Rust 應用程式嵌入 Wasm 函式
🛠 使用 Docker 工具、即時資料流框架, 和 區塊鏈 管理和編排 Wasm runtimes
WasmEdge 為其執行的 Wasm bytecode 程式提供了一個有良好定義的沙箱。這個專案的 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 bytecode 應用程式,也可以透過嵌入式 QuickJS 引擎執行 JavaScript。 WasmEdge 支援所有標準的 WebAssembly 特性和擴充提案,還支援許多為了原生雲端運算與邊緣運算量身定制的擴充(例如: WasmEdge Tensorflow 擴充)。
WebAssembly 的 WasmEdge 擴充通常作為 Rust SDK 或 JavaScript APIs 提供給開發者。
WasmEdge 及其執行的 Wasm 應用程式可以作為新應用程序或以現有的程序從 CLI 啟動。如果從現有程序啟動(例如,從正在執行的 Node.js 、 Golang 或 Rust 程序), WasmEdge 將簡單地作為一個函式在程序內運行。目前, WasmEdge 還不是執行緒安全的。如您想在自己的應用程式或者原生雲端框架中使用 WasmEdge ,請參考以下指南。
如果您想為 WasmEdge 專案做出貢獻,請參閱我們的 CONTRIBUTING 文件瞭解詳情。 想要獲得靈感,可查看 需求清單。
如有任何疑問,請隨時在相關項目上提出 GitHub issue ,或:
- 電子郵件:發送郵件至 [email protected]
- Slack :加入 #WasmEdge 群組: CNCF Slack
- 推特:在 Twitter 跟隨 @realwasmedge