Coolify logoCoolify

Rivet 引擎


Rivet 引擎

什么是 Rivet 引擎?

Rivet 引擎是驱动 Rivet Actor 大规模运行的后端引擎。它是 Rivet 生态系统的可选组件,提供企业级基础设施,用于运行具有长生命周期进程、持久化状态和实时能力的有状态工作负载。

虽然你可以在开发中使用 RivetKit(TypeScript 库)配合文件系统或内存驱动,但 Rivet 引擎提供生产就绪的基础设施,用于:

  • 自动扩展:从零到数百万并发 Actor
  • 分布式状态管理:通过快速内存状态存储实现
  • Actor 生命周期管理:支持休眠和即时唤醒
  • 内置韧性:具备自动故障转移和恢复能力
  • 边缘部署:实现低延迟的全球分发

可以将其视为生产运行时,它使你的 RivetKit Actor 能够轻松扩展并分布在分布式基础设施上。

核心特性

  • 生产就绪的扩展能力:自动从零扩展到数百万并发 Actor,无冷启动延迟
  • 分布式状态存储:状态存储在与计算相同的机器上,实现超快读写,无数据库延迟
  • Actor 生命周期管理:Actor 在空闲时自动休眠,按需即时唤醒,仅在活跃时消耗资源
  • 内置实时支持:原生支持 WebSocket 和 SSE,用于实时状态更新和广播
  • 韧性基础设施:自动故障转移和恢复,同时保持状态完整性
  • 边缘就绪:将 Actor 部署在靠近用户的位置,实现即时交互
  • 多运行时支持:兼容 Node.js、Bun、Deno 和 Cloudflare Workers
  • API 集成:提供 RESTful API 用于管理 Runner、Actor 和命名空间
  • 基于 Web 标准构建:使用标准 HTTP、WebSocket 和 SSE 协议

使用场景

Rivet 引擎为需要以下能力的应用提供支持:

  • AI Agent:具有持久化记忆和实时流式能力的耐用 AI 助手
  • 实时协作:具有 CRDT 和实时同步能力的协作文档、白板等工具
  • 持久化工作流:具有自动状态管理和恢复的多步骤工作流
  • 本地优先应用:具有服务端同步和冲突解决能力的离线优先应用
  • 聊天机器人和自动化:具有持久化对话状态的 Discord、Slack 或自主机器人
  • 用户级数据库:每个用户隔离的数据存储,实现零延迟访问
  • 多人游戏:具有实时状态同步能力的权威游戏服务器
  • 后台处理:无需外部队列基础设施的定时和重复任务
  • 速率限制:具有内存计数器和状态的分布式速率限制

工作原理

Rivet 引擎提供后端运行时,用于:

  1. 管理 Actor:协调分布式基础设施上的 Actor 生命周期、休眠和唤醒
  2. 处理状态:将 Actor 状态存储在内存中以实现快速访问,并持久化备份到存储后端
  3. 路由请求:高效地将客户端请求路由到正确的 Actor 实例
  4. 动态扩展:根据需求自动创建和销毁 Actor 实例
  5. 确保韧性:监控健康状况并自动恢复失败的 Actor,同时保持状态

与 RivetKit 的集成

Rivet 引擎与用于构建 Actor 的 TypeScript 库 RivetKit 无缝协作:

  • 开发:在本地开发中使用 RivetKit 配合文件系统或内存驱动
  • 生产:部署到 Rivet 引擎以实现自动扩展和企业级功能
  • 自托管:在自有基础设施上运行 Rivet 引擎以实现完全控制
  • 托管服务:使用 Rivet Cloud 实现一键部署和托管基础设施

部署选项

在以下平台部署 Rivet 引擎:

  • 自托管(Coolify、Docker、Kubernetes)
  • 云平台(Vercel、Railway、AWS ECS、Google Cloud Run、Hetzner)
  • Rivet Cloud(托管服务,一键部署)

存储后端

Rivet 引擎支持多种 Actor 状态的存储后端:

  • PostgreSQL
  • 文件系统
  • 内存(用于开发/测试)
  • 自定义存储适配器

链接

On this page