В чем разница между топик и очередь
Python
Middle
Без компании
В чем разница между топик и очередь
Ответы
Топик (topic) и очередь (queue) — это паттерны обмена сообщениями в системах очередей (например, RabbitMQ).
**Очередь (Queue):**
- Сообщения отправляются в очередь и потребляются одним получателем (FIFO).
- Подходит для распределения задач между воркерами (например, обработка заказов).
**Топик (Topic):**
- Сообщения публикуются в топик и могут быть получены несколькими подписчиками.
- Использует маршрутизацию по ключу (routing key) и шаблонам (например, `logs.*`).
- Подходит для широковещательных сценариев (например, уведомления).
Пример в RabbitMQ:
```
# Очередь
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')
```
**Итог:** очередь — для точечной доставки, топик — для широковещательной.