为什么做 RaisFast
为什么我们构建了 RaisFast — 唯一同时具备 BaaS、Headless CMS、内置电商与支付、单二进制部署、无 GC 停顿和四引擎插件扩展能力的产品。
问题
为内容驱动的应用构建现代后端,通常意味着组装一整套技术栈:
- Supabase / Firebase 作为后端(认证、数据库、存储)
- Strapi / WordPress 作为 CMS(博客、页面、内容管理)
- Shopify / Stripe 处理电商和支付
- Redis / BullMQ 做任务队列和调度
- Elasticsearch / Meilisearch 做全文搜索
- 独立部署管理后台
每个组件都需要独立的部署、监控、扩容和排错。运维成本惊人 — 尤其对小团队和个人开发者。
更深层的问题
数据不完全属于你。 Firebase 和 Shopify 等云产品把你的数据存在它们的服务器上。你无法控制数据存放在哪里、谁可以访问、什么时候可能消失。厂商锁定是真实的 — 迁移意味着重建一切。
没有桌面端体验。 现有的 BaaS 和 CMS 都是纯 Web 操作。没有一个桌面 IDE 能让你在一个窗口内管理内容、设计数据模型、编写插件、预览站点 — 支持离线使用,原生性能。
拼装式技术栈的困境。 需要博客?装 WordPress。需要商店?加 Shopify。需要 API?搭 Supabase。需要支付?接 Stripe。不知不觉你在维护 5+ 个服务,每个都有自己的账单、更新、安全补丁和故障模式。
运行时臃肿。 Node.js、PHP、Python — 如今每个 CMS 和 BaaS 都运行在有垃圾回收的语言上。这意味着 GC 停顿、内存飙升、冷启动和持续调优。你每月 $10 的 VPS 跑一个 Strapi 实例都吃力。
插件地狱。 WordPress 有 60,000+ 插件,但装 10 个就意味着 10 个潜在故障点。安全漏洞、兼容性问题、维护者弃坑 — 插件生态既是 WordPress 的优势,也是最大的弱点。
市面上的产品
| 产品 | 开源 | 数据私有 | BaaS | CMS | 博客 | 电商 | 支付 | 桌面 IDE | 单二进制 | 无 GC | 插件 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Supabase | ✓ | ✓ | ✓ | — | — | — | — | — | — | — | — |
| Appwrite | ✓ | ✓ | ✓ | — | — | — | — | — | — | — | 15 种运行时 |
| Firebase | — | — | ✓ | — | — | — | — | — | — | — | — |
| PocketBase | ✓ | ✓ | ✓ | — | — | — | — | ✓ | — | — | 仅 JS |
| WordPress | ✓ | ✓ | — | ✓ | ✓ | ✓ | ✓ | — | — | — | PHP 插件 |
| Strapi | ✓ | ✓ | — | ✓ | — | — | — | — | — | — | JS 插件 |
| Payload CMS | ✓ | ✓ | — | ✓ | — | — | — | — | — | — | 插件 |
| Directus | ✓ | ✓ | — | ✓ | — | — | — | — | — | — | 扩展 |
| Ghost | ✓ | ✓ | — | ✓ | ✓ | — | — | — | — | — | 有限 |
| Shopify | — | — | — | ✓ | ✓ | ✓ | ✓ | — | — | — | — |
| RaisFast | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 4 引擎 |
没有现有产品在单二进制中同时提供开源 + 数据私有 + BaaS + CMS + 电商 + 支付 + 桌面 IDE。Firebase 和 Shopify 是闭源的,数据存在它们的服务器上。Supabase 和 Appwrite 是开源但仅做 BaaS。WordPress、Strapi、Payload CMS、Directus、Ghost 是开源但仅做 CMS。PocketBase 最接近(开源、单二进制 BaaS),但没有 CMS、没有电商、没有支付、没有插件扩展。没有一个提供桌面 IDE。
RaisFast 是唯一同时开源且具备 BaaS、Headless CMS、电商平台能力并附带桌面 IDE 的产品 — 全部自托管,数据完全私有。
RaisFast 如何解决
极致性能
完全基于 Rust 构建,使用 Axum(Rust 生态最快的异步 HTTP 框架)和 SQLx(编译时查询检查的异步数据库驱动):
- 零成本抽象 — Rust 的类型系统消除了运行时开销
- 异步 I/O — Tokio 运行时在单核上处理数千并发连接
- 连接池 — 内置 SQLx 连接池,大小可配置
- 内存缓存 — moka(TinyLFU + LRU)缓存热数据,无需 Redis
结果:缓存读取亚毫秒响应,在普通硬件上可处理 10k+ 并发连接。
单二进制,零依赖
# 就这么简单。不需要运行时、包管理器或容器。
raisfast server start- 静态链接 — Musl 构建产出完全静态的 Linux 二进制
- 内嵌管理后台 — React SPA 通过
rust-embed编译进二进制,在/admin提供服务 - 内嵌数据库 — SQLite 实现零配置本地开发
- 内嵌搜索 — Tantivy 提供全文搜索,无需 Elasticsearch
- 内嵌缓存 — moka 提供内存缓存,无需 Redis
一个文件。一条命令。生产就绪。
无 GC,无停顿
Rust 的所有权模型彻底消除了垃圾回收器:
- 可预测延迟 — 永远不会有 stop-the-world GC 停顿
- 确定性内存 — 资源在离开作用域的瞬间释放
- 低内存占用 — 典型空闲使用量低于 20 MB,即使加载了插件
- 无内存泄漏 — 无需 GC 调优、堆分析或
-Xmx参数
这对实时特性(WebSocket、SSE)、稳定的 API 响应时间和资源受限环境(VPS、边缘设备、嵌入式硬件)至关重要。
部署简单
# 安装
curl -fsSL https://raisfast.com/install.sh | sh
# 运行
raisfast server start
# Docker
docker run -p 9898:9898 ghcr.io/raisfast/raisfast- 一个二进制 — 复制到服务器,运行。无需安装器、包管理器或构建步骤
- 跨平台 — 预编译支持 macOS、Linux、Windows、ARM64、x86_64、musl
- 自动迁移 — 首次运行自动创建 Schema,无需手动数据库配置
- 内置进程管理 — 通过 PID 文件实现
server start/stop/restart/status - 可选 TLS — 内置 rustls,HTTPS 无需 Nginx
插件扩展能力
四种运行时引擎,无限扩展:
| 引擎 | 适用场景 |
|---|---|
| JavaScript (QuickJS) | Web 开发者,熟悉 npm 生态 |
| Rhai | 轻量级脚本,安全沙箱 |
| Lua | 游戏/基础设施脚本,嵌入式扩展 |
| WebAssembly | 高性能插件,支持任何语言(Rust、C、Go、Zig) |
插件可以:
- 注册 HTTP 路由
- 挂钩内容生命周期事件(filter、action、render override)
- 调度定时任务
- 访问沙箱化虚拟文件系统
- 调用宿主函数(数据库、HTTP、缓存),带权限门控
- 热重载,无需重启服务
插件清单是一个简单的 TOML 文件:
[plugin]
name = "my-plugin"
version = "0.1.0"
entry = "main.js"
runtime = "js"
[permissions]
http = ["GET", "POST"]
db = ["read", "write"]
[[hooks]]
event = "post_created"内置功能
生产级后端所需的一切,开箱即用:
| 功能 | 描述 |
|---|---|
| 博客 | 文章、分类、标签、评论 |
| 页面 | 静态页面管理 |
| 媒体 | 文件上传、缩略图、本地/S3 存储 |
| 电商 | 商品、分类、购物车、订单 |
| 钱包 | 每用户积分/余额,Outbox 模式保证一致性 |
| 支付 | 支付宝、微信支付、Stripe、Dodo、Creem |
| 多租户 | 基于请求头或域名的租户隔离 |
| 搜索 | 全文搜索,支持中文分词 |
| 工作流 | 内容生命周期状态机引擎 |
| Webhook | HMAC-SHA256 签名事件投递 |
| RBAC | 基于角色的访问控制(管理员、编辑、作者、读者) |
| OAuth | GitHub、Google、微信登录 |
| 邮件/短信 | SMTP、SendGrid、Resend、阿里云、Twilio |
| GraphQL | 可选 GraphQL 端点 |
| OpenAPI | 自动生成 Swagger UI |
何时选择 RaisFast
以下场景非常适合 RaisFast:
- 需要一个内置 CMS 和电商的 BaaS — 没有其他项目提供这种组合
- 想要单一可部署产物,而不是一堆微服务
- 需要可预测、低延迟的 API 响应
- 运行在资源受限的基础设施上(小型 VPS、边缘、嵌入式设备)
- 重视运维简洁性 — 一个进程、一份日志、一个配置
- 需要不 fork 代码即可扩展 — 插件引擎覆盖所有技能水平
- 构建内容驱动应用(博客、商店、SaaS、作品集、文档站)
- 需要开箱即用的支付集成(支付宝、微信支付、Stripe)
- 想要多租户 SaaS 而不需要从零搭建
vs Supabase / Firebase
Supabase 和 Firebase 是优秀的 BaaS 产品,但没有 CMS、没有电商、没有支付。Supabase 需要 Docker 运行 12 个容器。Firebase 锁定在 Google Cloud。
选择 RaisFast:如果你需要 CMS、电商或支付,或想要单二进制自托管部署。
vs PocketBase
PocketBase 证明了"单二进制后端"是真实需求(58K+ Star)。但它故意限制范围 — 没有 CMS、没有电商、没有支付、不支持多数据库、没有多租户。
选择 RaisFast:如果你想要 PocketBase 的一切,加上 CMS、电商、支付、全文搜索和多数据库支持。RaisFast 是 PocketBase 的超集。
vs Strapi / WordPress
Strapi 和 WordPress 是 CMS 产品,但需要运行时(Node.js / PHP),有 GC 停顿,不内置电商或支付。
选择 RaisFast:如果你想要 10 倍性能、单二进制部署、内置电商/支付、无运行时依赖。不需要 Node.js 或 PHP。
vs Payload CMS / Directus
Payload CMS 和 Directus 是基于 Node.js 的现代 headless CMS,开发者体验不错。但需要 Node.js 运行时,没有内置电商和支付,需要单独搭建数据库。Payload 还与 Next.js 紧耦合。
选择 RaisFast:如果你想要单二进制部署、内置电商/支付、不依赖 Node.js。兼容任何前端框架,不只是 Next.js。
vs Ghost
Ghost 是一个精美的博客平台,内置会员和邮件通讯功能。但它只专注出版 — 没有电商、没有支付、没有插件系统、没有 BaaS 能力。需要 Node.js 运行时。
选择 RaisFast:如果你需要的不仅是博客 — 电商、支付、BaaS、多租户或插件扩展。以及想要单二进制部署而不是 Node.js。
