Проверяет понимание сложностей, связанных с развертыванием и эксплуатацией RabbitMQ.
Сложность кластеризации – настройка HA требует синхронизации узлов.
Потери сообщений – если не настроены подтверждения (ack).
Производительность – деградация при перегрузке очередей.
Мониторинг – отслеживание заторов и dead letter queues.
Проблема: При падении ноды возможна потеря сообщений.
Решение:
Использовать mirrored queues.
Настроить кворумную репликацию (RabbitMQ 3.8+).
Пример ошибки:
channel.BasicPublish(exchange, routingKey, null, body); // Без подтвержденияИсправление:
channel.ConfirmSelect(); // Включить подтвержденияИнструменты:
Prometheus + Grafana для метрик.
Алерты на длину очереди (rabbitmq_queue_messages_ready).
Вывод:
RabbitMQ требует тщательной настройки HA и мониторинга для production-использования.