Подписывайтесь на наш Telegram-канал и будьте в курсе всех событий

Илья Чубаров

Мой Telegram канал 👉 https://t.me/agoalofalife_channel

Курс по Temporal в связке Laravel + RoadRunner 🎉

Полгода делал большой курс по Temporal и наконец закончил. Хочу поделиться с сообществом – тем более что весь проект построен на знакомом стеке: Laravel + RoadRunner + Temporal PHP SDK.

Получилось 18 видео, около 16 часов контента. Если считать всё «за кадром» – подготовку, записи и монтаж в свободное время — вышло примерно 133 часа работы, больше обычного рабочего месяца.

Про что курс и чем он отличается

Это не набор толко академических видео, а бизнес-история одного проекта. Мы шаг за шагом строим агрегатор доставки еды и на каждом уроке добавляем новую возможность Temporal — от первого workflow до production-настройки воркеров. Движемся от простого к сложному, всё привязано к реальной бизнес-логике, а не к абстрактным примерам.

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

  • когда классические очереди (Redis, RabbitMQ) начинают мешать и что вместо них даёт durable execution;
  • как устроены Workflow, Activity, сигналы, queries, таймеры и детерминизм в PHP SDK;
  • как реализовать Saga-паттерн, версионирование и долгоживущие процессы;
  • как всё это тестировать, наблюдать и готовить к production на RoadRunner.

Список уроков

Основы

Реактивность

  • Signals — внешние события, их обработка и идемпотентность
  • Timers and Timeouts — таймеры и awaitWithTimeout
  • Queries — синхронное чтение состояния и best practices

Масштабирование логики

  • Child Workflows — декомпозиция, parent-child связь и политики
  • Async Activities — «параллельный» запуск, Promise::all и Promise::any

Надёжность

  • Saga pattern — распределённые транзакции, компенсации, 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/Go SDK и Graceful Shutdown

Весь материал доступен плейлистом на YouTube. Исходный код каждого урока лежит на GitHub.

Что дальше

Материала по Temporal ещё много, и останавливаться я не планирую. Но думаю над форматом продолжения — что было бы полезнее сообществу: разборы реальных кейсов, глубокие технические дайвы во внутренности SDK или что-то ещё? Буду рад мнению в комментариях.

Если курс окажется полезным — заходите на YouTube и в телеграм, там я продолжаю писать про Temporal и смежные темы. Отдельно собрал подборку материалов: чаты, статьи и ресурсы по Temporal.

Буду благодарен за конструктивную критику и вопросы.

1

Идеи для развития laravel.su

Демонстрация

На laravel.su появился новый раздел с «идеями». Что это такое и для чего, собственно, это нужно — я расскажу в этом коротком посте.

Laravel — это не только фреймворк, но и сообщество, у которого безусловно оседает пласт идей, которые нигде не реализуются. «Хорошо, если бы было…» — почти каждый так думал, когда с чем-то сталкивался в работе и, несомненно, при использовании laravel.su.

Задача раздела — перевести ваши мысли на «бумагу» и материализовать их как прозрачную витрину для ваших идей.

Раздел максимально прост: нужно описать заголовок и тело идеи. Чем подробнее написано — тем, конечно, лучше, но в то же время надо понимать, что это не раздел с ТЗ — это описание идеи для вдохновения или боли, которую вы испытываете. После модерация, идея будет опубликована.

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

Двигатель этого раздела — это вы, участники laravel.su. Публикуйте ваши идеи, стесняться тут не надо — возможно, то, что вы хотите, давно было у всех на уме, но никто не смог это формализовать. Поэтому только ваша активность может сделать этот ресурс лучше и качественне.