このプロジェクトについて

Latent Service Fabric(LSF)は、Rustで記述されWasmtime上に構築された、実験的なコンポーネントネイティブ実行ファブリックです。そのスタンドアラン実行時は、単一のLinuxノード上で独立してデプロイ可能なステートレスサービスカプセルを、アイドルサービスに永続的なプロセス、ソケット、スレッド、ゲストヒープ、接続プールを割り当てずに実行します。 デプロイされたサービスは、不変のコード、契約、ポリシー、デプロイメント/ルーティングメタデータによって表現されます。実行リソースは、呼び出しがアクティベーションになった場合にのみ割り当てられ、アクティベーションは再利用可能なサンドボックス化されたセルの固定プールで実行されます。述べられている中核不変条件は、常駐状態が固定ノード実行時と境界のあるカタログメタデータ、アクティブなアクティベーション、境界のある共有キャッシュに等しいことです。プロセス、スレッド、ソケット、セルの数はノード定義であり、デプロイされたサービスの数に応じてスケールするべきではありません。 インターフェース層には、カプセルエクスポートとプラットフォーム機能用のWIT、コントロールプレーン、ノード管理、トリガー管理、呼び出しAPI用のProtobuf、宣言的リソース用のJSONスキーマ、内部シーム用のRustトレイト、言語SDKサーフェスが含まれます。リポジトリは、アプリ(スタンドアロンのlatentdノード、オペレーターCLI、コントロールプレーンのプレースホルダー)、crates、wit、api/proto、schemas、sdk、examples、adr、rfcs、research、docs、tests、benchmarks、toolsに編成されています。 バイナリ:latentd(serve --configによるスタンドアロンLinuxノード、有限のphase0-spikeハーネス、verify-recovery封じ込め証明)、latent-control(クラスター化されたコントロールプレーンのプレースホルダー)、latent(ローカルパッケージのビルド/検査/検証、OCI転送、リリースライフサイクル、ロールアウト/カナリア/ロールバック、監査、呼び出し、ルーティングコマンド)。 文書化されたフェーズ1の機能には、ロックされたビルドと生成された契約、6言語にわたるSDK呼び出し契約、マニフェストのデコードと検証、デッドラインとキャンセルを備えたリソースアカウンティング、ダイジェスト検証を備えたローカルリリースストレージ、不変のルート世代を備えたデプロイメントとルーティング、アドミッション制御とクォータ、公平なスケジューリング、Wasmtimeによる汎用コンポーネント実行、アクティベーション機能とライフサイクル、テレメトリ、呼び出しと管理サービス、スタンドアロンノード、オペレーターCLI、境界のある適合テスト、測定レポートが含まれます。プロジェクトはまた、DockerとKubernetesの比較実行(プラットフォームごとに9,926の完全なオファー)を文書化し、ネイティブサービスのウォームリクエストレイテンシが低く、8サービスと32サービスでLSFのアプリケーションメモリが低いと報告していますが、コールドスタートの境界、リソース制限の違い、Docker Desktop/WSL2環境に注意しています。 フェーズ2では、決定論的パッケージングと認証されたOCIレジストリ転送、パブリッシャーの信頼、ビルドの来歴とSBOM検証、信頼できるアドミッションとリリースライフサイクル、永続的なネイティブイメージキャッシュを備えた分離コンパイル、耐久性のある管理監査、カナリア観測、手動ロールアウト調整、制御されたカナリアプロモーション、アトミックロールバック、オペレーターワークフローを追加します。プロジェクトは、ローカル検証とコピーされたカナリア観測が実行またはプロモーションを許可しないこと、管理されたデプロイメントが呼び出し元が保持する操作ID、正確なオブジェクト世代、カタログ状態バージョンをバインドすることを述べています。 フェーズ0は、狭いローカル実現可能性スパイクです。1つのRustエコーコンポーネントモデルゲストをビルドし、実際のWasmtimeバインディングを介してロードして呼び出し、境界のあるキューで1つの実行セルをリースして再利用し、宣言されたドメインエラー、トラップ、タイムアウト、キャンセル、メモリプレッシャーを封じ込め、境界のあるアクティベーション状態を記録します。READMEは、ルーティング、アドミッション、デプロイメント管理、本番の信頼/セキュリティ、永続状態、リモート呼び出し、クラスタリング、本番SLO、または100,000の休眠サービス不変条件を証明しないと明示的に述べています。 ビルドと検証は、固定されたツールチェーン(Rust、コンポーネントモデル、Protobuf、スキーマ、SDKツール)とPython仮想環境とmake validateを使用します。100,000リリースカタログプローブやネイティブLinuxソークなどの高価なテストは、明示的な選択が必要です。make phase0-spike-demoは実行可能なデモを実行し、make phase0-gateは機械可読なレシートを書き込みます。生成されたバインディングと記述子は、Cargo OUT_DIRまたはtarget/contractsの下に分離されます。Apache 2.0でライセンスされています。