본문으로 건너뛰기

© 2026 Molayo

HN요약2026. 05. 20. 02:01

Show HN: Rivet Actors – Rust, FoundationDB, Isolates로 구축된 Durable Objects

요약

Rivet Actors는 Rust, FoundationDB, Isolates를 기반으로 구축된 상태 유지 워크로드용 경량 프로세스 프레임워크입니다. AI 에이전트, 협업 앱, 내구 실행(durable execution)을 위해 설계되었으며, 인메모리 상태 저장과 자동 영속성을 통해 무한 확장 및 제로 스케일링을 지원합니다.

핵심 포인트

  • Rust, FoundationDB, Isolates를 활용한 고성능 및 내구 실행 환경 제공
  • 인메모리 상태 저장과 SQLite 또는 사용자 정의 DB를 통한 자동 영속성 지원
  • WebSockets, 워크플로, 메시지 큐, 스케줄링 기능 내장
  • 유휴 상태 시 휴면 모드 전환 및 글로벌 에지 네트워크 배포 가능
  • AI 에이전트의 컨텍스트 유지, 메모리 관리 및 도구 호출 최적화

AI 에이전트(AI agents), 협업 앱(collaborative apps), 그리고 내구 실행(durable execution)을 위해 구축되었습니다.

Quickstart • Documentation • Changelog • Discord • X

Rivet Actors는 상태 유지 워크로드(stateful workloads)를 위해 설계된 장기 실행되는 경량 프로세스(lightweight processes)입니다. 상태(State)는 자동 영속성(automatic persistence)과 함께 인메모리(in-memory)에 저장됩니다. 에이전트(agent)별, 세션(session)별, 또는 사용자(user)별로 하나씩 생성할 수 있으며, 워크플로(workflows), 큐(queues), 스케줄링(scheduling) 기능이 내장되어 있습니다.

백엔드 (Backend)

const agent = actor({
// 에이전트(actor)를 위한 인메모리 영속 상태(In-memory, persisted state)
state: { messages: [] as Message[] },
...

클라이언트 (Client) (프론트엔드 또는 백엔드)

// 에이전트(actor)에 연결
const agent = client.agent.getOrCreate("agent-123").connect();
// 실시간 이벤트(realtime events) 수신
...

에이전트별, 세션별, 사용자별로 하나의 Actor를 할당하며 — 상태(state), 스토리지(storage), 그리고 네트워킹(networking)이 모두 포함되어 있습니다.

Rivet이 제공하는 기능:

인메모리 상태 (In-memory state)— 즉각적인 읽기 및 쓰기를 위해 컴퓨팅(compute)과 동일한 위치에 배치됩니다. SQLite 또는 사용자가 직접 가져온(BYO) 데이터베이스로 영속화할 수 있습니다.
무한 실행 및 유휴 시 절전 (Runs indefinitely, sleeps when idle)— 활성 상태일 때는 장기 실행되며, 유휴 상태일 때는 휴면(hibernate) 상태가 됩니다.
무한 확장 및 제로 스케일 (Scales infinitely, scales to zero)— 급증하는 워크로드(bursty workloads)를 지원하며 비용 효율적입니다.
글로벌 에지 네트워크 (Global edge network)— 복잡함 없이 사용자 근처나 특정 법적 관할 구역에 배포할 수 있습니다.

Actors 지원 기능:

WebSockets— 내장된 실시간 양방향 스트리밍(bidirectional streaming).
워크플로 (Workflows)— 자동 재시도(automatic retries) 기능이 포함된 다단계 작업.
큐 (Queues)— 신뢰할 수 있는 비동기 처리(async processing)를 위한 내구 메시지 큐(Durable message queues).
스케줄링 (Scheduling)— Actor 내부의 타이머(timers) 및 크론 잡(cron jobs).

에이전트, 워크플로, 협업 및 그 이상에 적응하는 하나의 프리미티브(primitive)입니다.

AI 에이전트 (AI Agent)— 각 에이전트는 지속적인 컨텍스트(context), 메모리(memory), 그리고 도구 호출(tool calls)을 예약할 수 있는 능력을 갖춘 독립적인 액터(actor)로서 실행됩니다.

샌드박스 오케스트레이션 (Sandbox Orchestration)— 워크스페이스당 하나의 장기 실행 액터(long-lived actor)를 통해 샌드박스 세션을 조정하고, 작업을 큐에 넣으며, 정리(cleanup) 작업을 예약합니다.

워크플로 (Workflows)— 단계별 자동 재시도(retries), 스케줄링, 그리고 단계 간의 지속 가능한 상태(durable state)를 지원하는 다단계 작업입니다.

협업 문서 (Collaborative Documents)— 각 문서가 액터가 되어 연결된 모든 사용자에게 변경 사항을 브로드캐스트(broadcasting)하는 실시간 협업 편집 기능입니다.

테넌트별 데이터베이스 (Per-Tenant Database)— 테넌트당 하나의 액터를 할당하여 저지연 인메모리(in-memory) 읽기와 지속 가능한 테넌트 데이터 영속성(persistence)을 제공합니다.

채팅 (Chat)— 각 채팅방 또는 대화당 하나의 액터를 할당하며, 인메모리 상태, 지속적인 히스토리, 그리고 실시간 전달 기능을 제공합니다.

Rivet Actors vs. 전통적인 인프라 (Traditional Infrastructure)

지표 (Metric)Rivet ActorKubernetes Pod가상 머신 (Virtual Machine)
콜드 스타트 (Cold start)~20ms~6s~30s
인스턴스당 메모리 (Memory per instance)~0.6KB~50MB~512MB
유휴 비용 (Idle cost)$0~$85/mo (클러스터)~$5/mo
수평 확장 (Horizontal scale)무한 (Infinite)~5k 노드수동 (Manual)
멀티 리전 (Multi-region)글로벌 엣지 (Global edge)1개 리전1개 리전

상태 (State)

지표 (Metric)Rivet ActorRedisPostgres
읽기 지연 시간 (Read latency)0ms~1ms~5ms

벤치마크 세부 사항 및 방법론 (Benchmark details & methodology)

콜드 스타트 (Cold Start)

Rivet Actor (~20ms): 단순히 프로세스를 생성하는 것뿐만 아니라 지속 가능한 상태 초기화(durable state init)를 포함합니다. 액터 키(actor key)가 없으므로 리전 간 잠금(cross-region locking)이 발생하지 않습니다. Node.js 및 FoundationDB를 사용하여 측정되었습니다.

Kubernetes Pod (~6s): 사전 프로비저닝된 m5.large 노드가 있는 AWS EKS 상의 Node.js 24 Alpine 이미지(압축 시 56MB)를 사용했습니다. 세부 내역: 이미지 풀(pull) 및 압축 해제 ~1초, 스케줄링 및 컨테이너 런타임 설정 ~3-4초, 컨테이너 시작 ~1초.

가상 머신 (Virtual Machine) (~30s): Amazon Linux 2 AMI를 사용하여 실행부터 SSH 준비 완료까지의 AWS EC2 t3.nano를 사용했습니다. t3.nano는 사용 가능한 가장 작은 EC2 인스턴스(512MB RAM)입니다.

인스턴스당 메모리 (Memory Per Instance)

Rivet Actor (~0.6KB): RSS 델타를 액터 수로 나눈 값으로, Linux x86 환경의 Node.js v24에서 10,000개의 액터를 생성하여 측정함.

Kubernetes Pod (~50MB): Linux x86 환경의 최소 유휴(Idle) Node.js 컨테이너: Node.js v24 런타임 (~43MB RSS), containerd-shim (~3MB), pause 컨테이너 (~1MB), 그리고 Pod당 kubelet 추적 비용 (~2MB).

Virtual Machine (~512MB): AWS EC2 t3.nano, 512MB의 메모리가 할당된 사용 가능한 가장 작은 EC2 인스턴스.

Read Latency (읽기 지연 시간)

Rivet Actor (0ms): 상태(State)를 액터와 동일한 머신에 위치한 SQLite/KV 저장소에서 읽어오므로 네트워크 왕복(Round-trip)이 발생하지 않음.

Redis (~1ms): 애플리케이션과 동일한 가용 영역(Availability Zone)에 있는 AWS ElastiCache Redis (cache.t3.micro).

Postgres (~5ms): 애플리케이션과 동일한 가용 영역(Availability Zone)에 있는 AWS RDS PostgreSQL (db.t3.micro).

Idle Cost (유휴 비용)

Rivet Actor ($0): Rivet Actor가 서버리스(Serverless) 플랫폼에서 실행된다고 가정함. 액터는 유휴 인프라 비용 없이 제로(Zero)로 스케일링됨. 전통적인 컨테이너 배포 방식은 유휴 비용이 발생할 수 있음.

Virtual Machine (~$5/mo): 24시간 365일 실행되는 AWS EC2 t3.nano ($0.0052/hr 컴퓨팅 비용 + 20GB gp3 스토리지에 대해 월 $1.60).
t3.nano는 사용 가능한 가장 작은 EC2 인스턴스(512MB RAM)임.

Kubernetes Cluster (~$85/mo): 24시간 365일 실행되는 AWS EKS 컨트롤 플레인(Control Plane, 월 $73)과 20GB gp3 스토리지를 갖춘 단일 t3.nano 워커 노드(Worker Node).

Horizontal Scale (수평 확장)

Rivet Actors (Infinite): 단일 클러스터 크기 제한 없이 노드를 추가함으로써 선형적으로 확장됨.

Kubernetes (~5k nodes): Kubernetes 확장성(Scalability) 문서에 따라 클러스터당 최대 5,000개의 노드를 공식적으로 지원함.

Multi-Region (멀티 리전)

Rivet (Global edge network): 사용자 근처에 액터를 자동으로 생성하고 리전 간 라우팅(Routing)을 처리함.

로컬 개발부터 대규모 프로덕션 환경까지 강력한 디버깅 및 모니터링 도구를 제공합니다.

RivetKit은 라이브러리입니다. 확장성(Scaling), 결함 허용(Fault Tolerance), 그리고 관찰 가능성(Observability)이 필요할 때 Rivet Cloud에 연결하거나 셀프 호스팅(Self-host)하여 사용하세요.

| 패키지를 설치하고 로컬에서 실행하세요. 서버도, 인프라도 필요 없습니다. 개발 중에는 프로세스 내에서 Actor가 실행됩니다. npm install rivetkit |
| 단일 Rust 바이너리 또는 Docker 컨테이너로 제공됩니다. Postgres, 파일 시스템 또는 FoundationDB와 함께 작동합니다. docker run -p 6420:6420 rivetdev/engine |
| 완전 관리형 서비스입니다. 글로벌 엣지 네트워크(Global edge network)를 제공합니다. Vercel, Railway, AWS 등 이미 배포 중인 기존 클라우드에 연결하세요. |

오픈 소스이며 허용적인 라이선스(Permissively licensed)를 따릅니다 — 엔터프라이즈 배포, 클라우드 이식성, 그리고 벤더 종속(Vendor lock-in) 방지를 위해 셀프 호스팅(Self-hosting)은 중요합니다. Apache 2.0 라이선스는 귀하가 인프라의 소유권을 가짐을 의미합니다. GitHub에서 보기 →

|
코딩 에이전트(Coding agent)에게 Rivet 기술을 부여하여 예제를 생성하거나 기존 프로젝트에 통합하세요: npx skills add rivet-dev/skills Claude Code, Cursor, Windsurf 및 기타 AI 코딩 도구와 함께 작동합니다. |

서버리스(Serverless), 컨테이너, 또는 귀하의 자체 서버 — Rivet Actors는 기존의 인프라, 프레임워크 및 도구와 함께 작동합니다.

인프라(Infrastructure): Vercel • Railway • AWS • Docker

프레임워크(Frameworks): React • Next.js • Hono • Express • Elysia • tRPC

런타임(Runtimes): Node.js • Bun • Deno

도구(Tools): Vitest • Pino • AI SDK • OpenAPI • AsyncAPI

프로젝트설명
RivetKit TypeScriptActor 구축을 위한 클라이언트 및 서버 라이브러리
...
  • Discord - 커뮤니티와 채팅하기
  • X/Twitter - 업데이트 팔로우하기
  • Bluesky - 업데이트 팔로우하기
  • GitHub Discussions - 질문하기
  • GitHub Issues - 버그 보고하기
  • 엔지니어와 대화하기 - 사용 사례(Use case) 논의하기

AI 자동 생성 콘텐츠

본 콘텐츠는 HN Game Dev의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0