Встречается на собеседованиях • сегодня

Какие знаешь стратегии для обнаружения ошибок в RabbitMQ

  1. Логирование и мониторинг

    • Включить детальное логирование в RabbitMQ (log.connection.level = debug).
    • Использовать инструменты мониторинга (Prometheus + Grafana, Datadog) для отслеживания метрик (очереди, соединения, ошибки).
  2. Health Checks

    • Проверять состояние сервиса через HTTP API (/api/healthchecks/node).
    • Пример кода на Python:
    python
    import requests
    response = requests.get("http://localhost:15672/api/healthchecks/node", auth=('guest', 'guest'))
    print(response.json())  # {"status": "ok"} или ошибка
  1. Dead Letter Queues (DLX)

    • Настроить DLX для перехвата неудачных сообщений.
    python
    channel.queue_declare(queue="main_queue", arguments={
        "x-dead-letter-exchange": "dlx_exchange"
    })
  2. Tracing и алерты

    • Интегрировать OpenTelemetry для трассировки сообщений.
    • Настроить алерты при высокой задержке или росте очередей.
  3. Тестирование сети и ACL

    • Проверять доступность портов (5672, 15672).
    • Убедиться, что ACL и права пользователей корректны.
  4. Валидация сообщений

    • Добавлять схемы (JSON Schema, Pydantic) для проверки структуры сообщений.
  5. Повторные попытки (Retry)

    • Использовать библиотеки (например, tenacity) для обработки временных сбоев.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы