Процессы / надёжность

Temporal
для длительных процессов.

Спроектируем и встроим workflow там, где процесс проходит через несколько сервисов, ожидает событий и должен восстанавливаться после сбоев.

Temporal

Процессы

Повторы

Наблюдаемость

Подходит для

Многошаговых процессов

Проектирование

Ошибки и компенсации

Проверка

Сбои и повторные вызовы

Когда нужен Temporal

Сложный процесс требует явных состояний.

Письма, платежи, документы, внешние API и ручные решения могут растянуть один процесс на часы или дни. Когда его шаги распределены по очередям и сервисам, трудно понять, что уже произошло и как безопасно продолжить.

Temporal может быть полезен, если для процесса нужны наблюдаемое состояние, ожидание событий и управляемые повторы. Решение принимается после разбора существующей архитектуры.

01 /

Процесс переживает перезапуск

Задача должна продолжаться после перезапуска worker или временного сбоя.

02 /

Есть внешние зависимости

Часть шагов может долго отвечать, ошибаться или потребовать повторного вызова.

03 /

Нужна ясная история

Команде важно видеть текущий этап и причину остановки.

Интеграция

Переносим процесс, а не хаос вокруг него.

01 /

Карта состояний

События, таймауты, внешние действия и ручные решения.

02 /

Граница workflow

Выбрать процесс и операции, которым нужна идемпотентность.

03 /

Встроить и проверить

Workflow, activities, повторные вызовы, отмена и ошибочные ветки.

04 /

Наблюдать после запуска

Статусы, сигналы для поддержки и действия при зависании.

Пример подхода

Многошаговая обработка заявки.

Заявка проходит проверку, внешний API и ручное подтверждение. Для каждого шага определяются сроки ожидания, условия повтора и поведение при ошибке. Перед выпуском проверяются перезапуск worker, дублирующий вызов и отмена.

Сценарий показывает подход; он не представлен как выполненный проект.

Workflow в действующей системе

Состояние видно. Ошибки управляемы.

Шаги · ожидание · восстановление

Частые вопросы

Нужен ли Temporal вместо каждой очереди?

Нет. Он нужен там, где важны длительное состояние и координация шагов. Простую фоновую задачу можно решить проще.

Что делать с уже запущенными процессами?

План перехода зависит от того, где сейчас хранится состояние. Обычно новый путь включают постепенно и отдельно описывают судьбу старых задач.

Повтор не создаст дубликаты?

Внешние действия проектируются с ключами и проверками идемпотентности; это отдельная часть работы, а не автоматическое свойство интеграции.

Следующий шаг

Расскажите о вашей задаче.

Опишите систему, цель и ограничения. В ответ предложим следующий шаг, формат работы и способ технического контроля.