Надёжный движок workflow для запуска пошаговых функций, фоновых задач и AI-workflow на serverless-платформах, серверах и edge-инфраструктуре — с повторами и управлением потоком выполнения.
restatedev/restate
Restate — среда выполнения для создания отказоустойчивых приложений с долговечным выполнением, надежной передачей сообщений и состоянием, сохраняющимися при сбоях инфраструктуры.
Open source альтернатива:Temporal
- Звёзды
- 4,591
- Форки
- 226
- Открытые issues
- 471
- Последний коммит
- 2 часа назад
Что это?
Restate — платформа для создания приложений, которые продолжают корректно работать при сбоях серверов, процессов или сетей. Она предоставляет долговечные версии распространенных строительных блоков, таких как вызовы функций, promises, таймеры и состояние «ключ-значение». Благодаря этому разработчики могут писать обычный код, а платформа берет на себя повторы и восстановление.
К основным механизмам относятся долговечное выполнение, при котором неудачные операции запускаются повторно, а завершенные шаги не выполняются заново, и надежное взаимодействие между сервисами с семантикой exactly-once для вызовов запрос-ответ, односторонних сообщений и запланированных задач. У каждой сущности сервиса есть изолированное состояние «ключ-значение», которое сохраняется вместе с прогрессом выполнения. Долгие обработчики приостанавливаются в ожидании promise и возобновляют работу после его выполнения — это подходит для бессерверных развертываний.
Проект поставляется в виде сервера и CLI, а также SDK для TypeScript, Java и Kotlin, Python, Go и Rust. UI и CLI позволяют изучать сервисы и вызовы, а для взаимодействий между обработчиками генерируются трассировки OpenTelemetry.
Ключевые возможности
- 01Долговечное выполнение: повторы при сбоях без повторного выполнения завершенных шагов
- 02Взаимодействие между сервисами с семантикой exactly-once для вызовов, односторонних сообщений и запланированных задач
- 03Долговечные promises и таймеры, сохраняющиеся при сбоях и перезапусках
- 04Изолированное состояние «ключ-значение» для каждой сущности сервиса, сохраняемое вместе с прогрессом выполнения
- 05SDK для TypeScript, Java/Kotlin, Python, Go и Rust
- 06UI и CLI для изучения вызовов, а также трассировки OpenTelemetry
Сценарии использования
- Создание долговечных AI-агентов, которые должны возобновлять работу после сбоев
- Оркестрация микросервисов с надежными повторами и логикой компенсации
- Запуск рабочих процессов в виде кода, ожидающих таймеры или внешние вебхуки
- Надежная обработка событий в бессерверных функциях
Быстрый старт
- 1
Установите сервер через Homebrew
brew install restatedev/tap/restate-server - 2
Установите CLI через Homebrew
brew install restatedev/tap/restate - 3
Запустите сервер через npx
npx @restatedev/restate-server
Что важно знать
- Готовые бинарные файлы предоставляются только для macOS и Linux.
- Не удалось определить лицензию по метаданным проекта.
Темы
Частые вопросы
- Что такое restate?
- Restate — среда выполнения для создания отказоустойчивых приложений с долговечным выполнением, надежной передачей сообщений и состоянием, сохраняющимися при сбоях инфраструктуры. Restate — платформа для создания приложений, которые продолжают корректно работать при сбоях серверов, процессов или сетей. Она предоставляет долговечные версии распространенных строительных блоков, таких как вызовы функций, promises, таймеры и состояние «ключ-значение». Благодаря этому разработчики могут писать обычный код, а платформа берет на себя повторы и восстановление.
- restate можно использовать бесплатно? Какая у него лицензия?
- restate распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- restate всё ещё поддерживается?
- Активно поддерживается. Последний коммит в restate — 22 окт. 2026 г..
- Для чего можно использовать restate?
- Создание долговечных AI-агентов, которые должны возобновлять работу после сбоев Оркестрация микросервисов с надежными повторами и логикой компенсации Запуск рабочих процессов в виде кода, ожидающих таймеры или внешние вебхуки Надежная обработка событий в бессерверных функциях
- Как установить restate?
- Установите сервер через Homebrew: brew install restatedev/tap/restate-server Установите CLI через Homebrew: brew install restatedev/tap/restate Запустите сервер через npx: npx @restatedev/restate-server
- Где скачать restate?
- Исходный код и инструкции по установке — на GitHub: https://github.com/restatedev/restate
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Open-source движок устойчивого выполнения для оркестрации микросервисов, AI-агентов и адаптивных графов workflow с воркерами на разных языках.
Temporal — платформа надёжного выполнения, сервер которой запускает рабочие процессы приложения и автоматически повторяет неудачные операции.
Движок оркестрации фоновых задач, AI-агентов и долговечных рабочих процессов с SDK для Python, TypeScript, Go и Ruby и Postgres в качестве слоя надёжного хранения.
Фреймворк для Go на основе акторной модели, вдохновлённый Erlang/OTP, для создания распределённых систем с супервизией и прозрачным взаимодействием по сети.
Java-реализация Apache Dubbo — RPC- и микросервисного фреймворка для связи между сервисами, обнаружения сервисов и управления трафиком.