Каковы риски использования Redis в качестве брокера для Celery по сравнению с RabbitMQ при аварийном выключении сервера?

При аварии риск зависит от persistence и подтверждений, а не только от названия брокера. Redis без подходящей долговечности может потерять недавно принятые задачи; RabbitMQ тоже требует правильной настройки.

Короткий ответ

Что ответить на собеседовании

При аварии риск зависит от persistence и подтверждений, а не только от названия брокера. Redis без подходящей долговечности может потерять недавно принятые задачи; RabbitMQ тоже требует правильной настройки.

Подробный разбор

Ответ с пояснениями

При аварии риск зависит от persistence и подтверждений, а не только от названия брокера. Redis без подходящей долговечности может потерять недавно принятые задачи; RabbitMQ тоже требует правильной настройки.

Для Redis важны режимы RDB/AOF, политика fsync, репликация и поведение failover. У Celery нужно учитывать visibility timeout и возможность повторной доставки длительной задачи. Для RabbitMQ оценивают durable-очереди, persistent-сообщения, publisher confirms и выбранную модель репликации. Ни один брокер не обеспечивает ровно однократное выполнение произвольного внешнего действия. Задачи проектируют идемпотентными, а потерю при постановке между БД и брокером закрывают outbox или эквивалентным механизмом.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее