Show HN: Faasta – 基于 Rust 的自托管 Serverless 平台,支持 WASM-wasi-HTTP
Faasta 是一个基于 Rust 的自托管 Serverless 平台,专注于速度和效率。它使用 WebAssembly 架构,冷启动时间低于 1 毫秒,内存开销小于 1KB。Faasta 支持 WASI P2 和 WASIHTTP 标准,实现高性能 HTTP 请求处理和函数间的安全隔离。用户可以使用 WASM 模块运行代码,并实现函数的可移植性。它提供自托管选项,方便用户在自己的基础设施上部署函数。目前 Faasta 处于实验阶段,可能存在服务中断。
Faasta: 更快的 FaaS 平台
Faasta 是一个尖端的函数即服务(FaaS)平台,旨在提供卓越的速度和效率。冷启动时间低于 1 毫秒,内存开销小于 1KB,Faasta 通过其现代 WebAssembly 架构提供无与伦比的性能。
主要特性
- 使用 WASI P2 标准以 WebAssembly 模块运行你的代码
- 利用 WASIHTTP 实现高性能 HTTP 请求处理
- 通过 WebAssembly 的沙箱执行模型提供函数之间的安全隔离
- 实现超快的冷启动,没有传统容器化的开销
- 可自托管,设置简单 - 在任何地方运行你自己的 Faasta 实例
- 符合 WASI P2 和 WASIHTTP 标准,使你的函数具有可移植性
- 由 Wasmtime 提供支持,实现高效的 WebAssembly 执行
- 包括一个位于 faasta.xyz 的 免费托管实例
快速开始
安装 Faasta CLI:
cargo install cargo-faasta
创建一个新的 Faasta 项目:
cargo faasta init
# 或者
cargo faasta new my-function
为 WebAssembly 构建你的函数:
cargo faasta build
使用你的 GitHub 账户登录:
cargo faasta login
部署你的函数:
cargo faasta deploy
你的函数将在 https://your-function-name.faasta.xyz
上可用。
WASI P2 和 WASIHTTP
Faasta 实现了 WebAssembly 系统接口(WASI)Preview 2 规范和 WASIHTTP 标准,以实现:
- 标准化的 HTTP 请求和响应处理
- 基于组件的架构,以实现更好的模块化
- 与主机系统交互的一致接口
- 可以在任何 WASI P2 兼容运行时上运行的可移植函数
由于 Faasta 使用这些开放标准,你的函数不会被锁定到特定平台,并且可以在任何支持这些标准的地方托管。
自托管
Faasta 是完全可自托管的。你可以运行你自己的 Faasta 服务器实例,以便在你自己的基础设施上托管你的函数。
⚠️ 实验状态 Faasta 目前处于实验阶段。将会存在破坏性变更,这些变更会中断 faasta.xyz 实例上的服务。