Разницу между polling и webhook сегодня объяснит почти каждый. А потом на столе оказывается реальная задача: внешний ИИ-сервис генерирует видео несколько минут, пользователь всё это время смотрит в интерфейс и видит прогресс по генерации. И теория заканчивается. Где хранить статус? Кто кого опрашивает? Нужен ли тут брокер?
В выпуске разбираем задачу на асинхронную интеграцию целиком — от условия до постановок задач для разработчиков. И главное, три варианта архитектуры под одну и ту же задачу: монолит без брокера, монолит с RabbitMQ и микросервисное решение, с разбором, где каждый ломается. Отдельно проходим альтернативные сценарии и какие страховочные механизмы закладывать.
Страница эпизода и ссылки на видеоплатформы: https://getanalyst.ru/podcast/system-analyst-interview-async-integrations
Telegram-канал сообщества: https://t.me/getanalysts
VK сообщество: https://vk.com/getanalyst
Выпуск актуален всем, кто проектирует интеграции с внешними сервисами, готовится к техническому собеседованию на Middle+ или хочет перестать выбирать между polling, webhook и брокером наугад.
Тайм-коды к эпизоду:
| Интро
| Введение: суть задачи и знакомство со спикером
| Задача на асинхронную интеграцию для Middle+ системного аналитика: требования, API, макеты
| С чего начать работу над реальной задачей: план работы аналитика
| API-документация сервиса генерации видео с ИИ
| Синхронные и асинхронные интеграции: polling и webhook
| Асинхронная интеграция через брокер: RabbitMQ и Kafka
| API-документация сервиса генерации видео с ИИ — продолжение
| Проектируем архитектуру асинхронной интеграции
| Решение 1. Монолит без брокера
| Решение 2. Монолит с брокером RabbitMQ
| Решение 3. Микросервисная архитектура
| Если webhook не пришёл: ретраи и страховочный механизм
| Как отменить или прервать асинхронный процесс
| Ошибки, зависшие задачи и другие сложные сценарии
| Как декомпозировать интеграцию на задачи для разработчиков
| Где ещё применим такой подход
| Итоги, материалы и рекомендации
Ведущая:
Екатерина Ананьева,
Основатель сообщества Системных Аналитиков GetAnalyst.

