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

Что гарантирует RabbitMQ

RabbitMQ гарантирует доставку сообщений и их порядок в рамках одного соединения (connection) при соблюдении определенных условий.

Основные гарантии:

  1. Доставка – если сообщение подтверждено (acknowledged), оно будет обработано потребителем.
  2. Порядок – сообщения в очереди обрабатываются в порядке FIFO (First In, First Out).
  3. Надежность – при использовании подтверждений (acks) и сохранения на диск (durable queues) сообщения не теряются даже при перезапуске брокера.

Пример с подтверждением:

python
channel.basic_consume(
    queue='my_queue',
    on_message_callback=callback,
    auto_ack=False  # ручное подтверждение
)

def callback(ch, method, properties, body):
    print(f"Received: {body}")
    ch.basic_ack(delivery_tag=method.delivery_tag)  # подтверждение

Ограничения:

  • Порядок может нарушаться при нескольких потребителях или переподключениях.
  • Нет транзакций как в БД, но есть механизм подтверждений (publisher confirms).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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