Skip to content

Rivet

Rivet 引擎,为 AI 智能体和实时应用提供持久 actor,作为托管应用安装在项目中。尚未向账户开放。

更新于

尚未开放。托管应用还没有向账户开放。本页按目前正在构建的样子介绍 Rivet,开放前可能还会变化。

Rivet 运行按键寻址的长期存在的 actor:每个 actor 都保存自己的状态、一个 SQLite 数据库、一个队列和实时连接,没有请求时休眠。一次安装就是一个你自己的 Rivet 引擎,版本 3.0.0 (Apache-2.0),由平台打包:你的 runner(用 RivetKit 构建的你的应用)和你的客户端连接到它。它的源代码在 rivet-dev/rivet。

glac install rivet --set disk_gib=20

安装由什么构成

组成部分 说明
应用 <name>-engine 引擎:一个有状态的方块服务,端口 6420,运行在自己的实例上。没有请求 idle_seconds 秒后休眠,请求会唤醒它。
它的存储卷 engine/data 引擎的磁盘,位于 /var/lib/rivet:最近写入的日志和读缓存各占 40%。
它的存储桶 actors 每个 actor 的数据的持久副本,由引擎保存在对象存储中、安装自己的前缀下。
它的管理员令牌 安装时生成一次,作为项目的机密保存;出现在 admin_token 和 endpoint 中。

参数

参数 说明
size.vcpus 引擎最多使用的 vCPU:1 到 8,默认 1。
size.memory_gib 它最多使用的内存,单位 GiB:0.5 到 16,默认 1。
disk_gib 它的存储卷大小,单位 GiB:2 到 1,024,默认 10。创建后固定。
idle_seconds 没有请求时引擎保持运行多久才休眠(秒):10 到 600,默认 600。

输出

输出 说明
url 引擎的地址,对互联网提供服务。
endpoint RivetKit 的 runner 和客户端作为 RIVET_ENDPOINT 使用的值:带有管理员令牌的地址。机密。
admin_token 引擎的管理员令牌,用于需要它的调用 (Authorization: Bearer …)。机密。
private_url 引擎在项目私有网络上的地址:http://<name>-engine.internal:6420,供你在该网络上的应用和沙箱使用。

创建的响应中有全部输出;之后,机密输出只对有 admin 权限范围的密钥显示,控制台中也能看到。

使用

把你的 runner 和客户端指向 endpoint(在项目自己的应用和沙箱中,也可以带上管理员令牌指向 private_url)。引擎第一次启动后,平台会创建它的默认 runner 池(default,位于命名空间 default 中),你的 runner 加入这个池,池创建好后安装即为 ready:引擎在存储能接受命令之前稍早就会回应健康检查,在这期间发出的调用会以 overloaded 被拒绝(可重试)。actor 的状态归引擎管理:它先写入存储卷,再持久保存到存储桶,所以不随引擎的实例消失。

通过 API 查看健康状况

GET /v1/managed/rivet/{installation}/health 在引擎的实例上询问它的状况(会唤醒实例),并返回它的回答:{"object": "rivet_health", "installation_id": "ins-…", "engine": {"status": "ok", "version": "3.0.0", …}}。引擎没有响应时,返回 503 engine_not_ready(可重试)。需要有 read 权限范围的密钥。

费用

按方块的价格,为引擎实例的用量、存储卷和存储桶付费(安装的费用)。它的计算器按下面这些输入给出一个月的费用:1 vCPU 和 1 GiB 全天候运行,CPU 有 5% 的时间忙碌,10 GB 的存储卷,存储桶中 1 GB 数据,一百万次请求,以及 1 GB 发往互联网的流量:

计量项 每月
CPU 36 vCPU·小时
内存 720 GiB·小时
请求 1,000,000
存储卷数据 11 GB·月
存储卷缓存 10 GB·月
发往互联网的流量 1 GB

引擎休眠时不占用 CPU 时间和内存;它休眠期间保存的内容和任何休眠实例一样计费。

导航

输入以搜索……

↑↓ 切换↵ 选择Esc 关闭