rivet-dev/dynamic-apps
Deploy an AI-generated backend for every user.
Rivet Dynamic Apps – 무엇인가요
Rivet Dynamic Apps는 사용자가 제공한 요청 핸들러 코드를 보안된 사전 환경에서 실행할 수 있는 프레임워크입니다. 각 핸들러의 코드와 릴리스 상태는 Rivet 액터(경량 상태 유지 서비스)에 저장됩니다. 요청이 도착하면 시스템은 두 가지 방식으로 응답합니다:
- 빠른 경로 – 캐시에서 응답할 수 있는 경우, 작은 제한된 V8 고립 환경(경량 자바스크립트 엔진)이 직접 처리하여 액터로의 네트워크 이동을 피합니다.
- 실행 경로 – 캐시 미스인 경우 요청은 적절한 Rivet 액터로 라우팅되며, 그 안의 사전 환경에서 사용자 생성 핸들러를 실행합니다.
이 설계는 보안(격리된 V8 사전 환경), 저지연(로컬 캐시 고립 환경), 상태 유지 버전 관리(액터가 릴리스 메타데이터를 보관)를 결합하는 것을 목표로 합니다.
핵심 개념
| 개념 | 의미 |
|---|---|
| Rivet 액터 | 사용자 생성 핸들러의 현재 버전을 저장하고 필요 시 실행할 수 있는 경량 상태 유지 서비스. |
| 사전 환경 배포 VM | V8 기반의 격리된 환경으로, 호스트 시스템에 영향을 주지 않고 사용자 코드를 안전하게 실행할 수 있습니다. |
| 제한된 로컬 V8 고립 환경 | 에지에서 캐시 히트 요청을 직접 처리하는 작고 일시적인 자바스크립트 런타임으로, 지연을 낮춥니다. |
| 릴리스 상태 | 현재 활성화된 핸들러의 버전에 대한 메타데이터. 액터에 저장되어 업데이트가 원자적이고 추적 가능합니다. |
작동 방식 (고수준 흐름)
- 개발자가 업로드 – 자바스크립트 요청 핸들러를 업로드합니다.
- Rivet는 코드와 릴리스 메타데이터를 액터에 저장합니다.
- 요청이 도착하면:
- 시스템이 캐시를 확인합니다.
- 캐시 히트 → 로컬 V8 고립 환경이 즉시 핸들러를 실행합니다.
- 캐시 미스 → 요청이 액터로 전달되어 사전 환경 VM에서 핸들러를 실행하고 결과를 반환합니다.
- 결과는 향후 빠른 경로 처리를 위해 캐시될 수 있습니다.
AI / LLM 워크로드에 왜 중요한가
README는 RivetKit 참조에서 llms.txt를 링크하며, 플랫폼이 LLM 기반 요청 핸들러(예: 프롬프트 처리 함수, 커스텀 라우팅 로직, 가벼운 추론 래퍼)를 호스팅하도록 의도되어 있음을 시사합니다. 각 핸들러를 격리함으로써 개발자는 하위 서비스의 안정성을 해치지 않고 사용자 생성 AI 로직을 안전하게 노출할 수 있습니다.
더 자세한 정보 찾기
- 패키지 가이드 –
packages/dynamic-apps/README.md– 프로젝트에 라이브러리를 추가하고 액터를 구성하는 방법 설명. - API 계약 –
packages/dynamic-apps/API_CONTRACT.md– 호출자와 핸들러 간에 사용되는 JSON 기반 요청/응답 스키마 정의. - 벤치마크 보고서 –
benchmarks/dynamic-apps/RESULTS.md– 캐시 히트 경로와 전체 액터 실행의 성능 수치를 보여줍니다. - RivetKit 참조 – https://rivet.dev/llms.txt – Rivet가 LLM 중심 워크플로우와 어떻게 통합되는지에 대한 맥락 제공.
TL;DR
Rivet Dynamic Apps는 사용자 제공 자바스크립트 요청 핸들러를 격리된 V8 사전 환경에서 안전하게 실행할 수 있게 하며, 버전 상태는 경량 액터에 보관합니다. 캐시 히트 요청은 로컬 고립 환경이 즉시 응답하고, 캐시 미스 요청은 액터가 처리합니다. 이 설정은 빠르고 안전하며 업데이트 가능한 커스텀 로직이 필요한 AI/LLM 사용 사례에 최적화되어 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트