レジストリ

レジストリはWippyの中央設定ストアです。すべての定義(エントリポイント、サービス、リソース)がここに存在し、変更はシステム全体にリアクティブに伝播されます。

エントリ

レジストリはエントリ(一意のIDを持つ型付き定義)を保持します:

app.api:get_user          → HTTPハンドラ
app.workers:email_sender  → バックグラウンドプロセス
app:database              → データベース接続
app:templates             → テンプレートセット

各エントリにはID(namespace:name形式)、そのハンドラを決定するkind、任意のmetaフィールド、およびkind固有のdataがあります。

種別ハンドラ

エントリが送信されると、そのkindがどのハンドラが処理するかを決定します。ハンドラは設定を検証し、ランタイムリソースを作成します。http.serviceエントリはHTTPサーバーを起動し、function.luaエントリは関数プールを作成し、sql.databaseエントリは接続プールを確立します。利用可能な種別についてはエントリ種別ガイドを、ハンドラの実装についてはカスタムエントリ種別を参照してください。

ライブ更新

レジストリはランタイムでの変更をサポートします。システムの実行中にエントリを追加、更新、または削除できます。変更はイベントバスを通じて流れ、リスナーはそれらを検証または拒否できます。トランザクションはアトミック性を保証します。バージョン履歴によりロールバックが可能です。

YAML定義ファイルは起動時にロードされるレジストリスナップショットのシリアライズです。プログラムによるアクセスについてはレジストリモジュールを参照してください。

関連項目