Проверяет понимание выгод от отделения долгих операций от основного потока выполнения.
Асинхронность позволяет не блокировать основной поток на длительные I/O-операции (запросы к внешним сервисам, файловые операции, рассылки), улучшая отзывчивость приложения и пропускную способность. Это также помогает выровнять нагрузку, использовать очередь задач и повторные попытки при сбоях, а фоновая обработка снижает время ожидания пользователя.
Неблокирующие I/O:
Долгие HTTP-запросы или DB-операции не замедляют обработку новых запросов
Распределение нагрузки:
Использование очередей и воркеров (Celery, Spring Batch) для постепенной обработки.
Повышение отказоустойчивости:
При сбое внешнего API задача остаётся в очереди и может быть повторена.
Пользовательский опыт:
Быстрый ответ на UI-запрос (операция запущена в фоне, уведомление по завершении).
Примеры задач:
Генерация отчетов, отправка писем, обработка изображений, интеграция с внешними платёжными шлюзами.