Курс по Temporal (PHP + RoadRunner) закончен 🎉

Полгода, 18 видео, ~16 часов контента. А если посчитать все до минуты - на подготовку, записи и монтаж в свободное время - то 133 часа. Это больше обычного рабочего месяца по графику 5/2.

Начинал в феврале, не успел моргнуть - а за окном уже июль. 🥲

Курс построен как история одного проекта: мы шаг за шагом строим агрегатор доставки еды и на каждом уроке добавляем новую возможность Temporal - от первого workflow до production-настройки воркеров. От простого к сложному, с бизнес-логикой в основе.

Список уроков которые я сделал в этом курсе:

Основы

• Temporal Введение (Разбираем план курса, какие темы затронем и какой будет бизнес flow) • Зачем нужен temporal ? (Почему классические очереди не подходят и что даёт durable execution) • Установка и настройка (Docker Compose, RoadRunner, PHP SDK и первый workflow • Workflow, Activity и их Options (Анатомия Workflow и Activity, что такое детерминизм в Temporal, Activity/Workflow Options, сериалзиация данных в workflow) • Schedule Activity и Activity Heartbeats (Таймауты Schedule/Start to Close, Retry Policy, Heartbeats для долгих активностей, обработка timeouts + cancel workflow) Реактивность

• Signals (Внешние события в workflow их обработка и идемпотентность) • Timers and Timeouts (Таймеры и awaitWithTimeout) • Queries (Синхронное чтение состояния workflow, отличие от сигналов и best practices для Query-методов) Масштабирование логики

• Child Workflows (Декомпозиция логики, parent-child связь и их политики) • Async Activities ("Параллельный" запуск, Promise::all и Promise::any) Надёжность

• Saga pattern (Обсуждаем два варианта отмены workflow, распределённые транзакции и компенсации, Choreography vs Orchestration) • Versioning (Ошибка недетерминизма и getVersion для безопасных обновлений) • Continue as new (Долгоживущие workflow и про лимиты Event History) Продвинутое и Production

• Schedules (Аналог cron в temporal и как его настраивать) • Side Effects and Updates (Детерминизм для случайных значений, сравнение Updates и Signals/Queries) • Testing (Возможности и отладки при тестировании, и какие проблемы при ускорение времени + replay механизмы - его стратегии и оптимизации) • Observability (Логи, метрики, трейсинг и Search Attributes) • Worker Tuning (Настройка воркеров php и golang SDK + Graceful Shutdown)

📺 Весь плейлист на YouTube — сохраните, чтобы не потерять.

Отдельно собрал подборку материалов: чаты, статьи и полезные ресурсы по Temporal.

Материала по Temporal ещё много, и останавливаться я не планирую. Но сейчас думаю над форматом: где и как продолжать. Контент актуальный - вижу его ценность, но и цифры просмотров на youtube тоже вижу 🙂

Поэтому вопрос к вам: что было бы полезнее — разборы реальных кейсов, глубокие технические разборы или что-то ещё? Напишите в комментариях, это правда помогает понять, куда двигаться.

Если курс был полезен, поддержать можно следующим образом:

  • подписаться в телеграме и на YouTube
  • лайк или комментарий под видео • Boosty

Спасибо, что дошли до конца 🙌


В этом посте были ссылки, но мы их удалили по правилам Сетки

Курс по Temporal (PHP + RoadRunner) закончен 🎉
Полгода, 18 видео, ~16 часов контента. А если посчитать все до минуты - на подготовку, записи и монтаж в свободное время - то 133 часа | Сетка — социальная сеть от hh.ru Курс по Temporal (PHP + RoadRunner) закончен 🎉
Полгода, 18 видео, ~16 часов контента. А если посчитать все до минуты - на подготовку, записи и монтаж в свободное время - то 133 часа | Сетка — социальная сеть от hh.ru