Repolode
restatedev

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. 1

    Установите сервер через Homebrew

    brew install restatedev/tap/restate-server
  2. 2

    Установите CLI через Homebrew

    brew install restatedev/tap/restate
  3. 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 обновляется ежедневно.

Похожие проекты