프로젝트 소개

Latent Service Fabric(LSF)은 Rust로 작성되고 Wasmtime 위에 구축된 실험적이며 컴포넌트 네이티브한 실행 패브릭이다. 이 프로젝트의 독립 실행형 런타임은 단일 Linux 노드에서 독립적으로 배포 가능한 상태 비저장 서비스 캡슐을 실행하며, 유휴 서비스에 영구 프로세스, 소켓, 스레드, 게스트 힙 또는 연결 풀을 할당하지 않는다. 배포된 서비스는 불변 코드, 계약, 정책, 배포/라우팅 메타데이터로 표현된다. 실행 리소스는 호출이 활성화가 될 때만 할당되며, 활성화는 재사용 가능한 샌드박스 셀의 고정 풀에서 실행된다. 명시된 핵심 불변식은 상주 상태가 고정 노드 런타임에 제한된 카탈로그 메타데이터, 활성 활성화, 제한된 공유 캐시를 더한 것과 같다는 것이며, 프로세스, 스레드, 소켓, 셀 수는 노드에서 정의되고 배포된 서비스 수에 따라 확장되어서는 안 된다. 인터페이스 계층에는 캡슐 내보내기와 플랫폼 기능을 위한 WIT, 제어 평면, 노드 관리, 트리거 관리 및 호출 API를 위한 Protobuf, 선언적 리소스를 위한 JSON Schema, 내부 경계를 위한 Rust 트레이트, 언어 SDK 표면이 포함된다. 저장소는 apps(독립 실행형 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 전송, 릴리스 수명 주기, 롤아웃/카나리/롤백, 감사, 호출 및 라우팅 명령). 문서화된 Phase 1 기능에는 잠긴 빌드와 생성된 계약, 6개 언어에 걸친 SDK 호출 계약, 매니페스트 디코딩 및 검증, 기한과 취소를 포함한 리소스 회계, 다이제스트 검증을 포함한 로컬 릴리스 저장소, 불변 라우트 세대를 포함한 배포 및 라우팅, 승인 제어와 할당량, 공정 스케줄링, Wasmtime을 통한 일반 컴포넌트 실행, 활성화 기능과 수명 주기, 텔레메트리, 호출 및 관리 서비스, 독립 실행형 노드, 운영자 CLI, 제한된 적합성 테스트, 측정 보고서가 포함된다. 이 프로젝트는 또한 Docker와 Kubernetes 비교 실행(플랫폼당 9,926개의 전체 오퍼)을 문서화하며, 네이티브 서비스의 경우 더 낮은 웜 요청 지연 시간을, LSF의 경우 8개 및 32개 서비스에서 더 낮은 애플리케이션 메모리를 보고하면서 콜드 스타트 경계, 리소스 제한 차이, Docker Desktop/WSL2 환경을 언급한다. Phase 2는 결정적 패키징과 인증된 OCI 레지스트리 전송, 게시자 신뢰, 빌드 출처와 SBOM 검증, 신뢰할 수 있는 승인 및 릴리스 수명 주기, 영구 네이티브 이미지 캐시를 포함한 격리된 컴파일, 내구성 있는 관리 감사, 카나리 관찰, 수동 롤아웃 조정, 통제된 카나리 승격, 원자적 롤백, 운영자 워크플로를 추가한다. 이 프로젝트는 로컬 검증과 복사된 카나리 관찰이 실행이나 승격을 승인하지 않으며, 관리형 배포가 호출자가 보유한 작업 ID, 정확한 객체 세대, 카탈로그 상태 버전을 바인딩한다고 명시한다. Phase 0은 좁은 로컬 타당성 스파이크다. 하나의 Rust 에코 Component Model 게스트를 빌드하고, 실제 Wasmtime 바인딩을 통해 로드 및 호출하며, 제한된 큐로 하나의 실행 셀을 임대 및 회수하고, 선언된 도메인 오류, 트랩, 시간 초과, 취소, 메모리 압박을 격리하며, 제한된 활성화 상태를 기록한다. README는 이것이 라우팅, 승인, 배포 관리, 프로덕션 신뢰/보안, 내구성 있는 상태, 원격 호출, 클러스터링, 프로덕션 SLO 또는 100,000개의 휴면 서비스 불변식을 증명하지 않는다고 명시적으로 밝힌다. 빌드와 검증은 Python 가상 환경과 make validate를 포함한 고정된 툴체인(Rust, Component Model, Protobuf, 스키마, SDK 도구)을 사용하며, 100,000개 릴리스 카탈로그 프로브와 네이티브 Linux 소크 같은 비용이 많이 드는 테스트는 명시적 선택이 필요하다. make phase0-spike-demo는 실행 가능한 데모를 실행하고, make phase0-gate는 기계 판독 가능한 영수증을 작성한다. 생성된 바인딩과 디스크립터는 Cargo OUT_DIR 또는 target/contracts 아래에 격리된다. Apache 2.0에 따라 라이선스된다.