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

В какой ситуации сообщение брокера может не доставиться

Сообщение в брокере (например, RabbitMQ или Kafka) может не доставиться в нескольких случаях:

  1. Сетевые проблемы - разрыв соединения между продюсером и брокером или между брокером и консьюмером.

  2. Переполнение очереди - если очередь достигла лимита по размеру или количеству сообщений.

  1. Ошибки обработки - консьюмер принял сообщение, но упал до подтверждения (ack), и брокер не переотправил сообщение (если не настроен dead-letter exchange).

  2. Некорректная конфигурация - например, отсутствие биндингов между exchange и очередью в RabbitMQ.

Пример с RabbitMQ:

python
# Продюсер без подтверждения доставки
channel.basic_publish(
    exchange='',
    routing_key='queue_name',
    body='message',
    mandatory=False  # если True - будет ошибка при недоступности очереди
)

Для надежности используйте подтверждение доставки (publisher confirms), persistent messages и обработку ошибок.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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