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

Зачем нужны очереди в RabbitMQ

Очереди в RabbitMQ служат для асинхронной обработки задач, обеспечивая надежность и масштабируемость системы. Они позволяют:

  1. Разделять производителей и потребителей – сервисы работают независимо.
  2. Гарантировать доставку – сообщения сохраняются даже при падении потребителя.
  3. Балансировать нагрузку – несколько воркеров могут обрабатывать одну очередь.
  4. Буферизировать запросы – пиковые нагрузки не перегружают систему.

Пример (Python + pika):

python
import pika

# Производитель
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(queue='tasks')
channel.basic_publish(exchange='', routing_key='tasks', body='Hello, RabbitMQ!')
connection.close()

# Потребитель
def callback(ch, method, properties, body):
    print(f"Received: {body}")

channel.basic_consume(queue='tasks', on_message_callback=callback, auto_ack=True)
channel.start_consuming()

Используется в микросервисах, фоновых задачах (отправка email, обработка данных).

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

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

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

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