**未公開。**マネージドアプリケーションはまだ利用できません。このページは、構築中の Rivet の仕組みを公開前に説明したもので、公開までに変わることがあります。
Rivet は、キーで指定する長寿命のアクターを動かします。各アクターは状態、SQLite データベース、キュー、リアルタイムの接続を持ち、何も求められないときはスリープします。そのインストールは、プラットフォームがパッケージ化した専用の Rivet エンジン(バージョン 3.0.0、Apache-2.0)で、ランナー(RivetKit で作ったアプリ)とクライアントがそこに接続します。ソースは rivet-dev/rivet にあります。
glac install rivet --set disk_gib=20インストールの構成
| 構成要素 | 説明 |
|---|---|
アプリ <name>-engine |
エンジン:専用のインスタンスで動く、ステートフルなキューブのサービス(ポート 6420)。リクエストがないまま idle_seconds が過ぎるとスリープし、リクエストがあれば復帰する |
ボリューム engine/data |
/var/lib/rivet にあるエンジンのディスク。最近の書き込みのログと読み取りキャッシュが、それぞれ 40% を使う |
バケット actors |
すべてのアクターのデータの永続的なコピー。エンジンが、インストール専用の接頭辞の下でオブジェクトストレージに保持する |
| 管理者トークン | インストール時に一度だけ作られ、プロジェクトのシークレットとして保持される。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 のランナーとクライアントが RIVET_ENDPOINT として受け取るもの:管理者トークンを含むアドレス。秘密 |
admin_token |
エンジンの管理者トークン。それを必要とする呼び出し用(Authorization: Bearer …)。秘密 |
private_url |
プロジェクトのプライベートネットワーク上のエンジン:http://<name>-engine.internal:6420。ネットワーク上のアプリとサンドボックス用 |
作成のレスポンスにはすべての出力値が含まれます。その後、秘密の出力値は admin スコープを持つキーとコンソールに表示されます。
使い方
ランナーとクライアントを endpoint に向けます(プロジェクト自身のアプリやサンドボックスからは、管理者トークンとともに private_url に向けます)。エンジンが最初に立ち上がると、プラットフォームはランナーのデフォルトのプール(名前空間 default の default)を作り、ランナーはそこに参加します。それが済むとインストールは ready になります。エンジンはストレージがコマンドを受け付ける少し前からヘルスチェックに応答するため、その間の呼び出しは overloaded(再試行可能)で拒否されます。アクターの状態はエンジンのものです。エンジンはそれをまずボリュームに書き込み、永続的にはバケットに書き込むため、状態はエンジンのインスタンスより長く残ります。
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 か月分がどれだけになるかを示します。1 vCPU、1 GiB で 24 時間稼働、CPU 使用率 5%、10 GB のボリューム、バケットに 1 GB、100万リクエスト、インターネットへの送信 1 GB です。
| 計測項目 | 1 か月 |
|---|---|
| CPU | 36 vCPU 時間 |
| メモリ | 720 GiB-時間 |
| リクエスト | 1,000,000 |
| ボリュームのデータ | 11 GB-月 |
| ボリュームキャッシュ | 10 GB-月 |
| インターネットへのトラフィック | 1 GB |
エンジンがスリープしている間は、CPU 時間もメモリも使いません。スリープ中に保持するものは、ほかのスリープ中のインスタンスと同じく課金されます。