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

В чем разница между топик и очередь

Топик (topic) и очередь (queue) — это паттерны обмена сообщениями в системах очередей (например, RabbitMQ).

Очередь (Queue):

  • Сообщения отправляются в очередь и потребляются одним получателем (FIFO).
  • Подходит для распределения задач между воркерами (например, обработка заказов).

Топик (Topic):

  • Сообщения публикуются в топик и могут быть получены несколькими подписчиками.
  • Использует маршрутизацию по ключу (routing key) и шаблонам (например, logs.*).
  • Подходит для широковещательных сценариев (например, уведомления).

Пример в RabbitMQ:

python
# Очередь
channel.queue_declare(queue='task_queue')
channel.basic_publish(exchange='', routing_key='task_queue', body='Task data')

# Топик
channel.exchange_declare(exchange='logs', exchange_type='topic')
channel.basic_publish(exchange='logs', routing_key='logs.error', body='Error log')

Итог: очередь — для точечной доставки, топик — для широковещательной.

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

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

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

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