10 / 25 · §6
Фоновые задачи и очереди
Пользователь не должен ждать HTTP 4 минуты. Тяжёлое — в очередь.
Нажми на схему, чтобы открыть в полном размере.
Главное
- API быстро принимает запрос, кладёт задачу в очередь и сразу отвечает «Processing started».
- Worker забирает задачу и делает работу асинхронно: видео, e-mail, картинки, отчёты.
- Получаем лучший UX, масштабируемость и надёжность: воркеры добавляются независимо, задачи ретраятся.
- Инструменты: RabbitMQ, SQS, Redis queues, BullMQ, Celery, Sidekiq.
Загрузка видео
Upload → API (202 Accepted) → Queue → Video Worker → S3
↳ уведомление по готовности Kafka не обязательна
Kafka может участвовать, но для каждой background job она не нужна. Ретраи и идемпотентность задач нужны всегда.