用語集
ドキュメントやエラーメッセージで使われる runlot の主な用語を説明します。
世代 (generation, 세대)
データベースのバックアップ 1 つを指します。1 時間おきに作成され、epoch/seq の形式(例: 3/17)で識別します。無料プランは 24 世代(1 日分)、プロプランは 168 世代(7 日分)を保管します。詳しくはバックアップと復元をご覧ください。
epoch
プロジェクトのデータベースの系統番号です。データベースを復元したり、別のノードへ移したりすると 1 ずつ増えます。同じプロジェクトでも epoch が違えば別のデータ系統なので、以前の epoch からのリクエストは拒否します。
ワーカーから現在の値を取得できます。
const { project, epoch } = await env.db.identity();Runlot-Epoch リクエストヘッダーでも確認できます。
スロット (slot, 슬롯)
ノードが 1 つのプロジェクトに割り当てる実行単位です。スロット 1 つにはプロセス、ポート、データディレクトリがそれぞれ 1 つずつ含まれます。プロジェクトをどのノードのどのスロットに置くかを決めることを 配置 と呼びます。
自動停止 (park, 자동 중지)
一定時間(既定は 5 分)リクエストがないと、ワーカープロセスを終了する機能です。データは保持され、新しいリクエストが届くと自動的に再開します。詳しくは自動停止と再開をご覧ください。
管理者が設定する停止状態(suspend)とは異なります。自動停止は新しいリクエストが来れば解除されますが、管理者が停止したプロジェクトは手動で解除する必要があります。
コールド (cold, 콜드)
ノード上でプロセスだけを止めるのとは異なり、データベースを外部ストレージへ移した状態です。ノードのディスク容量が不足すると、データベースを暗号化してオフサイトに保管します。再び有効化するには 6〜7 秒ほどかかります。詳しくは再有効化の流れをご覧ください。
wire
PostgreSQL プロトコルでデータベースに直接接続する方式です。アドレスは <プロジェクト>--<組織>.wire.runlot.app:5433 で、psql や PostgreSQL ドライバがこの接続を使います。ワーカーの env.db と同じデータベースに接続しますが、動作は異なります。wire 接続はセッションを維持し、env.db は呼び出しごとに新しいセッションを使います。
front (フロント, 앞단)
受信したリクエストの対象プロジェクトを決定し、アクセス制御を確認し、必要に応じてプロジェクトを再開する層です。Runlot-* ヘッダーもこの層で追加されます。HTTP と wire のどちらのリクエストもフロントを経由します。
org (組織, 조직)
プロジェクトを管理し、請求と権限を設定する単位です。デプロイのアドレスの 2 番目の名前が組織の slug です(例: my-app.me.runlot.app の me)。チームとロールを参照してください。
デプロイとバージョン
runlot deploy を 1 回実行するたびに バージョン が 1 つ作成されます。デプロイ履歴は保持され、runlot rollback で以前のバージョンのいずれかを再び有効化できます。
アクセス制御・認証
- アクセス制御 — デプロイそのものにアクセスできるユーザーを決めます(
public、org、password)。 - 認証 — アプリケーションに登録したユーザーを管理します(
env.auth)。
この 2 つは異なる層で動作します。アクセス制御を参照してください。