Курс по 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 тоже вижу 🙂
Поэтому вопрос к вам: что было бы полезнее — разборы реальных кейсов, глубокие технические разборы или что-то ещё? Напишите в комментариях, это правда помогает понять, куда двигаться.
Если курс был полезен, поддержать можно следующим образом:
Спасибо, что дошли до конца 🙌
В этом посте были ссылки, но мы их удалили по правилам Сетки