재시도와 흐름 제어를 지원하며 서버리스, 서버, 엣지에서 스텝 함수와 백그라운드 작업, AI 워크플로를 실행하는 내구성 있는 워크플로 엔진입니다.
restatedev/restate
Restate는 인프라 장애에도 견디는 내구성 있는 실행, 안정적인 메시징, 영속 상태를 갖춘 애플리케이션을 만드는 런타임입니다.
대체할 수 있는 제품:Temporal
- 스타
- 4,591
- 포크
- 226
- 열린 이슈
- 471
- 마지막 커밋
- 2시간 전
어떤 프로젝트인가요?
Restate는 서버, 프로세스 또는 네트워크에 장애가 발생해도 애플리케이션이 올바르게 계속 동작하도록 만드는 플랫폼입니다. 함수 호출, promise, 타이머, 키-값 상태와 같은 일반적인 구성 요소에 내구성을 더해 제공하므로, 개발자는 평범한 코드를 작성하고 플랫폼이 재시도와 복구를 처리하도록 할 수 있습니다.
핵심 메커니즘에는 실패한 작업을 재시도하고 완료된 단계를 다시 실행하지 않는 내구성 있는 실행, 그리고 요청-응답 호출, 단방향 메시지, 예약 작업에 정확히 한 번(exactly-once) 의미를 제공하는 서비스 간 안정적인 통신이 포함됩니다. 각 서비스 엔터티는 실행 진행 상황과 함께 저장되는 격리된 키-값 상태를 가집니다. 오래 실행되는 핸들러는 promise를 기다리는 동안 중단되었다가 promise가 해결되면 다시 실행되므로 서버리스 배포에 적합합니다.
프로젝트는 서버와 CLI로 제공되며 TypeScript, Java 및 Kotlin, Python, Go, Rust용 SDK를 지원합니다. UI와 CLI에서 서비스와 호출을 살펴볼 수 있고, 핸들러 간 상호작용에 대한 OpenTelemetry 트레이스가 생성됩니다.
핵심 기능
- 01완료된 단계를 다시 실행하지 않고 실패를 재시도하는 내구성 있는 실행
- 02호출, 단방향 메시지, 예약 작업에 대한 서비스 간 정확히 한 번 통신
- 03장애와 재시작에도 유지되는 내구성 있는 promise와 타이머
- 04실행 진행 상황과 함께 저장되는 서비스 엔터티별 격리된 키-값 상태
- 05TypeScript, Java/Kotlin, Python, Go, Rust용 SDK
- 06호출을 살펴볼 수 있는 UI와 CLI, OpenTelemetry 트레이스
활용 사례
- 장애 후에도 이어서 실행해야 하는 내구성 있는 AI 에이전트 구축
- 안정적인 재시도와 보상 로직을 활용한 마이크로서비스 오케스트레이션
- 타이머나 외부 웹훅을 기다리는 코드 기반 워크플로 실행
- 서버리스 함수에서 이벤트를 안정적으로 처리
빠른 시작
- 1
Homebrew로 서버 설치
brew install restatedev/tap/restate-server - 2
Homebrew로 CLI 설치
brew install restatedev/tap/restate - 3
npx로 서버 실행
npx @restatedev/restate-server
사용 전 알아둘 점
- 사전 빌드된 바이너리는 macOS와 Linux용으로만 제공됩니다.
- 프로젝트 메타데이터에서 라이선스를 확인할 수 없습니다.
토픽
자주 묻는 질문
- restate은(는) 무엇인가요?
- Restate는 인프라 장애에도 견디는 내구성 있는 실행, 안정적인 메시징, 영속 상태를 갖춘 애플리케이션을 만드는 런타임입니다. Restate는 서버, 프로세스 또는 네트워크에 장애가 발생해도 애플리케이션이 올바르게 계속 동작하도록 만드는 플랫폼입니다. 함수 호출, promise, 타이머, 키-값 상태와 같은 일반적인 구성 요소에 내구성을 더해 제공하므로, 개발자는 평범한 코드를 작성하고 플랫폼이 재시도와 복구를 처리하도록 할 수 있습니다.
- restate은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- restate은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- restate은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. restate의 마지막 커밋은 2026년 10월 22일입니다.
- restate은(는) 어디에 사용할 수 있나요?
- 장애 후에도 이어서 실행해야 하는 내구성 있는 AI 에이전트 구축 안정적인 재시도와 보상 로직을 활용한 마이크로서비스 오케스트레이션 타이머나 외부 웹훅을 기다리는 코드 기반 워크플로 실행 서버리스 함수에서 이벤트를 안정적으로 처리
- restate는 어떻게 설치하나요?
- Homebrew로 서버 설치: brew install restatedev/tap/restate-server Homebrew로 CLI 설치: brew install restatedev/tap/restate npx로 서버 실행: npx @restatedev/restate-server
- restate은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/restatedev/restate
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
여러 언어로 작성한 워커를 지원하며, 마이크로서비스와 AI 에이전트, 적응형 워크플로 그래프를 오케스트레이션하는 오픈소스 내구성 실행 엔진입니다.
Temporal은 애플리케이션 Workflow를 실행하고 실패한 단계를 자동으로 재시도하는 내구성 있는 실행 플랫폼입니다.
Python, TypeScript, Go, Ruby SDK와 내구성 계층인 Postgres를 지원하는 백그라운드 작업, AI 에이전트 및 내구성 있는 워크플로 오케스트레이션 엔진입니다.
Erlang/OTP에서 영감을 얻은 Go 액터 모델 프레임워크로, 감독 기능과 네트워크 투명성을 갖춘 분산 시스템을 구축합니다.
서비스 통신, 디스커버리, 트래픽 관리를 위한 RPC 및 마이크로서비스 프레임워크 Apache Dubbo의 Java 구현체입니다.