Какие знаешь сценария использование RabbitMQ
Python
Middle
Без компании
Какие знаешь сценария использование RabbitMQ
Ответы
RabbitMQ — это брокер сообщений, который используется для асинхронной обработки задач, распределения нагрузки и интеграции систем.
**Основные сценарии:**
- **Фоновые задачи** – например, отправка email или обработка изображений без блокировки основного потока.
- **Микросервисная архитектура** – обмен сообщениями между сервисами (например, заказ → оплата → доставка).
- **Балансировка нагрузки** – распределение задач между воркерами (например, обработка очереди запросов).
- **Логирование и аналитика** – асинхронная отправка логов или событий в аналитические системы.
- **Репликация данных** – синхронизация между разными сервисами (например, кэширование).
**Пример (Python + `pika`):**
```
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()
```