SuperAPI AI 工具集

fastlike

通用与其它

查看项目

更新于 10-15 21:41

技能介绍

用途:Fastlike 是 Fastly Compute ABI 的 Go 实现,用于在本地运行编译好的 WebAssembly 程序,并作为 Compute 平台内部机制的权威参考。其源码以可执行代码形式记录了各平台原语、请求生命周期细节与数据结构。

主要能力:实现 Fastly 生产 Compute 平台提供的 249+ 主机函数,涵盖后端、字典、KV 存储、缓存、地理定位、限流、ACL、密钥存储等。支持命名后端、热重载、内置 profiler,以及字典、KV、配置存储、密钥存储、ACL、日志、地理定位等本地配置。

使用方式:需 Go 1.24+。可从源码构建:git clone https://github.com/avidal/fastlike.git ~/src/fastlike,cd ~/src/fastlike,make build(生成 bin/fastlike),或 make install,或 go install fastlike.dev/cmd/fastlike@latest。最小用法:bin/fastlike -backend localhost:8000 app.wasm。常用配置示例:bin/fastlike -backend api=api.example.com:8080 -backend cache=redis:6379 -backend localhost:8000 app.wasm;开发模式:bin/fastlike -backend localhost:8000 -reload -v 2 app.wasm,发送 SIGHUP 可重载 WASM;profiler:bin/fastlike -backend localhost:8000 -profile-ui localhost:6060 app.wasm,访问 http://localhost:6060/。

适用场景:非 Rust 的 Compute 应用、需要自定义地理数据、需要热重载或调试时。与 Viceroy 相比,Fastlike 用 Go 编写,地理定位使用自定义 JSON 文件(-geo),支持 SIGHUP 热重载,本地后端通过 -backend name=host:port 配置。

限制:不适用于 Fastly VCL(用 falco)、Fastly CLI/API(用 fastly-cli 或 fastly)、Viceroy、CDN 对比、WAF、Terraform、通过 API 清除缓存或 Fastly 日志/统计配置。macOS 上避免绑定 5000 端口,因 AirTunes/AirPlay Receiver 默认占用。非 loopback 的 -profile-ui 需要 -profile-auth TOKEN(或显式 -profile-insecure-ui)。