rivet-dev/dynamic-apps

Deploy an AI-generated backend for every user.

Rivet Dynamic Apps – 무엇인가요

Rivet Dynamic Apps는 사용자가 제공한 요청 핸들러 코드를 보안된 사전 환경에서 실행할 수 있는 프레임워크입니다. 각 핸들러의 코드와 릴리스 상태는 Rivet 액터(경량 상태 유지 서비스)에 저장됩니다. 요청이 도착하면 시스템은 두 가지 방식으로 응답합니다:

  1. 빠른 경로 – 캐시에서 응답할 수 있는 경우, 작은 제한된 V8 고립 환경(경량 자바스크립트 엔진)이 직접 처리하여 액터로의 네트워크 이동을 피합니다.
  2. 실행 경로 – 캐시 미스인 경우 요청은 적절한 Rivet 액터로 라우팅되며, 그 안의 사전 환경에서 사용자 생성 핸들러를 실행합니다.

이 설계는 보안(격리된 V8 사전 환경), 저지연(로컬 캐시 고립 환경), 상태 유지 버전 관리(액터가 릴리스 메타데이터를 보관)를 결합하는 것을 목표로 합니다.


핵심 개념

개념 의미
Rivet 액터 사용자 생성 핸들러의 현재 버전을 저장하고 필요 시 실행할 수 있는 경량 상태 유지 서비스.
사전 환경 배포 VM V8 기반의 격리된 환경으로, 호스트 시스템에 영향을 주지 않고 사용자 코드를 안전하게 실행할 수 있습니다.
제한된 로컬 V8 고립 환경 에지에서 캐시 히트 요청을 직접 처리하는 작고 일시적인 자바스크립트 런타임으로, 지연을 낮춥니다.
릴리스 상태 현재 활성화된 핸들러의 버전에 대한 메타데이터. 액터에 저장되어 업데이트가 원자적이고 추적 가능합니다.

작동 방식 (고수준 흐름)

  1. 개발자가 업로드 – 자바스크립트 요청 핸들러를 업로드합니다.
  2. Rivet는 코드와 릴리스 메타데이터를 액터에 저장합니다.
  3. 요청이 도착하면:
    • 시스템이 캐시를 확인합니다.
    • 캐시 히트 → 로컬 V8 고립 환경이 즉시 핸들러를 실행합니다.
    • 캐시 미스 → 요청이 액터로 전달되어 사전 환경 VM에서 핸들러를 실행하고 결과를 반환합니다.
  4. 결과는 향후 빠른 경로 처리를 위해 캐시될 수 있습니다.

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 사용 사례에 최적화되어 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트