23P by xguru 2일전 | ★ favorite | 댓글 1개
  • 개발자 친화적인 오픈소스 서버리스 인프라 플랫폼으로, AI 에이전트, 실시간 애플리케이션, 게임 서버 등 복잡한 백엔드를 손쉽게 배포 & 확장 가능
  • 기술 스택: Rust, V8, Deno, FoundationDB, CockroachDB, ClickHouse, Valkey, NATS, Traefik
  • Stateless Functions, Stateful Actors, Containerized Workloads 등 다양한 기능을 통합 프리미티브로 제공
    • Stateless Functions(무상태 함수): API 서버 등 요청-응답 중심 작업에 적합
    • Stateful Actors(상태 저장 액터): 메모리 상태를 유지하는 실시간 서비스 구축에 최적
    • Sandboxed Containers: 무거운 작업이나 신뢰할 수 없는 워크로드에 안전하게 대응

기능

  • Stateful Persistence
    • Rivet Actor는 메모리에 데이터를 유지하며, 자동으로 디스크에 내구성 있게 저장됨
    • 게임 로비, 협업 문서, 캐시 등 동적인 상태 관리에 적합
  • 원격 함수 호출 (RPC)
    • 경량의 클라이언트-서비스 간 메시징 기본 내장
    • 클라이언트/액터간 타입 안전 원격 프로시저 호출(RPC) 및 브로드캐스트 지원
    • 외부 메시지 브로커 없이 실시간 통신 구조 가능
  • No Cold Starts
    • 서비스는 Idle 모드에서 Hibernate 되고, 필요시 즉시 활성화 됨
    • 장기 실행(Long-Running) 액터는 비활성 상태일때 "Sleep"에 들어갔다가 다음 요청시 즉시 상태 복구
    • 엔드유저 관점에서 Cold-Start Recovery 와 일관된 Low-Latency 제공
  • 엣지 분산
    • 백엔드 코드를 사용자에게 가깝게 배포 가능
    • 초저지연을 위해 Rivet은 Actor와 함수를 글로벌 엣지에 배포
    • HTTP, WebSocket, TCP, UDP 프로토콜을 지원하며, 외부 프록시 없이 글로벌 엣지에 배포 가능
  • 무제한 실행 시간, 컨테이너 지원
    • 장기 실행 프로세스나 백그라운드 작업 제한 없음
    • Docker 호환 컨테이너라면 모두 지원(Docker에서 동작하면 Rivet에서도 동작함)
  • Fault Tolerance
    • 액터 상태가 지속적으로 저장되어 장애/재스케줄 시 무중단 상태 복구 가능
    • 지능적 라우팅과 결합해 높은 가용성 보장
  • 로컬 개발 지원
    • rivet dev 또는 Docker Compose로 로컬 클러스터 즉시 구동 및 테스트
    • 프로덕션 배포 전 로컬에서 반복 개발 가능

주요 활용 사례

  • AI 에이전트
  • 멀티테넌트 SaaS
  • Local-first 앱
  • 협업형 애플리케이션
  • 샌드박스 코드 실행
  • 게임 서버
  • Yjs 동기화/스토리지
  • 채팅 앱

Rivet - 멀티플레이어 게임 서버 관리 시스템 오픈소스

2년 전엔 오픈소스 게임 서버 용도였는데, 이제 일반적인 서버리스로 확장하고 다양한 유스케이스를 지원하게 확장되었네요.