advanced

RabbitMQ для task queues и flexible routing

Выбирайте RabbitMQ, когда доминируют work queues, low-latency command delivery, acknowledgements, dead-lettering и rich broker routing.

Выбирайте RabbitMQ, когда важнее семантика work queue, гибкая маршрутизация, подтверждения на сообщение и низкая задержка команд, чем долгое хранение лога. Распределение задач, RPC request/reply, приоритетные очереди и сложная маршрутизация через exchanges соответствуют broker-centric модели RabbitMQ.

RabbitMQ силён в competing consumer, dead-letter, TTL-задержках и знакомых AMQP-паттернах. Слабее как неизменяемое хранилище событий — обработанные сообщения покидают очередь.

На интервью: обоснуйте RabbitMQ для пула worker fulfillment заказов, объясните плюсы exchange routing и когда мигрировали бы на Kafka.

Типовые ошибки: ожидание неограниченного replay из очередей; RabbitMQ без мониторинга memory и disk alarm; classic mirrored без плана миграции на quorum; использование для multi-TB аналитического ingestion.

Компромисс — гибкость против сложности: знайте, когда достаточно более простого пути.

Чеклист:

  • Сопоставьте task queue и routing с моделью AMQP.
  • Спланируйте ack, retry и DLX с первого дня.
  • Мониторьте память брокера и глубину очередей.
  • Задокументируйте жизненный цикл после consumption.