Работал ли с RabbitMQ
Python
Middle
Без компании
Работал ли с RabbitMQ
Ответы
Да, работал. RabbitMQ — это брокер сообщений, реализующий протокол AMQP. Используется для асинхронной обработки задач, распределения нагрузки и интеграции сервисов.
**Основные понятия:**
- **Producer** — отправляет сообщения
- **Consumer** — получает сообщения
- **Exchange** — маршрутизирует сообщения в очереди
- **Queue** — хранит сообщения до обработки
**Пример на Python (pika):**
```
import pika
# Подключение
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
# Создание очереди
channel.queue_declare(queue='hello')
# Отправка сообщения
channel.basic_publish(exchange='', routing_key='hello', body='Hello World!')
# Получение сообщений
def callback(ch, method, properties, body):
print(f"Получено: {body}")
channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True)
channel.start_consuming()
```
**Практическое применение:**
- Очереди задач (Celery)
- Микросервисная архитектура
- Обработка фоновых задач (отправка email, генерация отчетов)
RabbitMQ надежен, поддерживает кластеризацию и различные паттерны обмена сообщениями (pub/sub, RPC).