rivet-dev/rivet

Rivet Actors are the primitive for stateful workloads. Built for AI agents, collaborative apps, and durable execution.

해결하는 문제

Rivet은 에이전트 워크로드를 위해 특별히 설계된 고밀도, 확장 가능한 오케스트레이션 계층을 제공합니다. Kubernetes와 같은 기존 컨테이너 오케스트레이션의 오버헤드 없이 영구 메모리, 독립 스토리지, 빠른 시작 시간이 필요한 수천 또는 수백만 개의 상태 저장, 장수 AI 에이전트를 관리하는 문제를 해결합니다.

작동 방식

Rivet은 "가상 액터" 패턴을 사용하여 에이전트를 액터(경량, 내구성 있는 프로세스)로 취급합니다. 포드와 달리 액터는 별도의 VM이나 컨테이너가 아닌 기존 워커 프로세스(Node.js, Bun 또는 Rust) 내에 존재합니다.

주요 기술 메커니즘은 다음과 같습니다.

  • 영구 상태: 각 액터는 자체 SQLite 데이터베이스 또는 POSIX 파일 시스템을 가지며 장기 저장을 위해 S3로 계층화됩니다.
  • 휴면: 유휴 액터는 리소스를 해제하고 휴면하며 새 요청이 도착하면 약 12ms 내에 깨어납니다.
  • 컨트롤 플레인: 단일 Rust 기반 컨트롤 플레인이 클러스터 전반의 액터 스케줄링, 라우팅, 지속성을 처리합니다.
  • 연결성: 액터는 HTTP 또는 WebSocket을 통해 직접 주소를 지정할 수 있어 클라이언트로의 실시간 이벤트 브로드캐스트가 가능합니다.

대상 사용자

  • AI 에이전트 개발자: 장기 메모리와 영구 상태가 필요한 코딩 에이전트, 개인 비서 또는 회사별 에이전트를 구축하는 사람.
  • 에이전트 앱 빌더: 모든 사용자가 전용 확장 가능한 백엔드(액터)를 갖는 플랫폼을 개발하는 개발자.
  • 실시간 애플리케이션 개발자: 동일한 아키텍처가 지원할 수 있는 협업 도구(예: 룸 또는 채널)를 구축하는 사람.

하이라이트

  • 극한의 효율성: 12ms 콜드 스타트, 인스턴스당 72KB 메모리만 사용.
  • 내장 지속성: 액터별 SQLite 및 파일 시스템 지원 통합.
  • 유연한 배포: 오픈소스 및 자체 호스팅 가능(Apache 2.0), 관리형 클라우드 또는 BYOC(자체 클라우드 가져오기) 옵션.
  • 개발자 경험: 백엔드용 타입 SDK 및 프론트엔드용 퍼스트파티 React 훅.
  • 내결함성: 워커가 실패하면 액터가 다른 워커로 자동 재스케줄링되어 상태 무결성을 유지합니다.

관련

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