本文へスキップ
新しい製品に最初に出会う場所

Celld

S3バケットだけで協調する自前ホスティングのDurable Objects。

その他15日前
カテゴリー
その他
ウェブサイト
github.com
言語
英語
登録日
15日前
スター
4,095
フォーク
136

denoland/celld ↗· Rust· Apache-2.0· 最終コミット 3日前

CelldはDenoチームが公開したオープンソースのデーモンで、Cloudflare WorkersとDurable Objectsを自分のサーバーで動かします。オブジェクトはそれぞれ名前で参照される独立したSQLiteデータベースであり、中身は自前のS3互換バケットへ継続的に複製されます。ノードが突き合わせるのはこのバケットだけで、コントロールプレーンも合意サービスもメンバーシッププロトコルも使いません。どのノードがそのセルの持ち主かはオブジェクトストレージのcompare-and-swapが決め、セルが移動したり起き直したりすれば、新しい持ち主がバケットからデータベースを復元して実行を引き継ぎます。

オブジェクトごとに小さなデータベースが分かれるため、アプリケーションは自然にシャーディングされ、共有データベース特有の競合や障害の波及は運用で抑えるものではなく設計から外れ、アイドル状態のセルはほとんど資源を使わずに休止します。運用は出所を検証できるバイナリか公式コンテナを起動し、deployコマンドでWranglerプロジェクトを配り、diagnoseコマンドで各ノードの常駐セル、メモリ、CPU、シェディングを点検する流れです。ノード間通信はフリートシークレットによるHMAC認証で、公開網ではなく信頼できる私設網に置くことが前提になります。ランタイムと互換範囲はまだ動いている最中だと、プロジェクト自身が先に断っています。

この製品が気に入りましたか?