Об этом проекте
Latent Service Fabric (LSF) — это экспериментальная, компонентно-ориентированная среда выполнения, написанная на Rust и построенная на Wasmtime. Её автономная среда выполнения запускает независимо развёртываемые капсулы сервисов без состояния на одном узле Linux, не назначая простаивающим сервисам постоянные процессы, сокеты, потоки, гостевые кучи или пулы соединений.
Развёрнутый сервис представлен неизменяемым кодом, контрактами, политикой и метаданными развёртывания/маршрутизации. Ресурсы выполнения выделяются только тогда, когда вызов становится активацией, а активации выполняются в фиксированном пуле переиспользуемых изолированных ячеек. Заявленный основной инвариант состоит в том, что резидентное состояние равно фиксированной среде выполнения узла плюс ограниченные метаданные каталога, активные активации и ограниченные общие кэши; количество процессов, потоков, сокетов и ячеек определяется узлом и не должно масштабироваться с числом развёрнутых сервисов.
Уровни интерфейсов включают WIT для экспортов капсул и возможностей платформы, Protobuf для API плоскости управления, управления узлами, управления триггерами и вызовов, JSON Schema для декларативных ресурсов, трейты Rust для внутренних швов и поверхности SDK для языков. Репозиторий организован в каталоги apps (автономный узел latentd, операторский CLI, заготовка плоскости управления), crates, wit, api/proto, schemas, sdk, examples, adr, rfcs, research, docs, tests, benchmarks и tools.
Бинарные файлы: latentd (автономный узел Linux через serve --config, а также конечный стенд phase0-spike и доказательство сдерживания verify-recovery), latent-control (заготовка кластерной плоскости управления) и latent (локальная сборка/инспекция/проверка пакетов, передача OCI, жизненный цикл релиза, развёртывание/канареечный выпуск/откат, аудит, вызов и команды маршрутизации).
Документированные возможности Phase 1 включают зафиксированные сборки и сгенерированные контракты, контракты вызова SDK для шести языков, декодирование и валидацию манифестов, учёт ресурсов с крайними сроками и отменой, локальное хранилище релизов с проверкой дайджеста, развёртывание и маршрутизацию с неизменяемыми поколениями маршрутов, контроль допуска и квоты, справедливое планирование, выполнение универсальных компонентов через Wasmtime, возможности и жизненный цикл активации, телеметрию, сервисы вызова и управления, автономный узел, операторский CLI, ограниченные тесты соответствия и отчёты об измерениях. Проект также документирует сравнительные прогоны с Docker и Kubernetes (9 926 полных предложений на платформу), сообщая о меньшей задержке тёплых запросов для нативных сервисов и меньшем объёме памяти приложения для LSF при 8 и 32 сервисах, при этом отмечая границы холодного старта, различия в лимитах ресурсов и среду Docker Desktop/WSL2.
Phase 2 добавляет детерминированную упаковку и аутентифицированную передачу в реестр OCI, доверие издателя, происхождение сборки и проверку SBOM, доверенный допуск и жизненный цикл релиза, изолированную компиляцию с постоянным кэшем нативных образов, долговечный административный аудит, канареечные наблюдения, ручную координацию развёртывания, контролируемое продвижение канареечного выпуска, атомарный откат и операторские рабочие процессы. Проект заявляет, что локальная проверка и скопированные канареечные наблюдения не дают права на выполнение или продвижение, а управляемые развёртывания привязывают сохраняемый вызывающей стороной идентификатор операции, точное поколение объекта и версию состояния каталога.
Phase 0 — это узкий локальный стенд проверки осуществимости: собрать одного гостя Rust echo Component Model, загрузить и вызвать его через реальные привязки Wasmtime, взять в аренду и вернуть одну ячейку выполнения с ограниченной очередью, сдержать объявленные доменные ошибки, ловушки, тайм-ауты, отмену и давление памяти и записать ограниченное состояние активации. В README явно сказано, что он не доказывает маршрутизацию, допуск, управление развёртыванием, производственное доверие/безопасность, долговечное состояние, удалённый вызов, кластеризацию, производственные SLO или инвариант 100 000 дремлющих сервисов.
Сборка и валидация используют закреплённый инструментарий (Rust, Component Model, Protobuf, schema, инструменты SDK) с виртуальной средой Python и make validate; дорогостоящие тесты, такие как проба каталога на 100 000 релизов и нативные прогоны Linux, требуют явного выбора. make phase0-spike-demo запускает исполняемую демонстрацию, а make phase0-gate записывает машиночитаемую квитанцию. Сгенерированные привязки и дескрипторы изолированы в Cargo OUT_DIR или target/contracts. Лицензия Apache 2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.