Какие используешь брокеры сообщений
Python
Senior
Без компании
Какие используешь брокеры сообщений
Ответы
В Python популярны несколько брокеров сообщений, выбор зависит от требований к производительности, масштабируемости и простоте использования:
- **RabbitMQ** – надежный, поддерживает AMQP, удобен для сложных сценариев маршрутизации.
Пример:
```
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!')
```
- **Kafka** – для высоконагруженных систем, потоковой обработки данных.
Пример с `confluent-kafka`:
```
from confluent_kafka import Producer
producer = Producer({'bootstrap.servers': 'localhost:9092'})
producer.produce('topic', key='key', value='message')
producer.flush()
```
- **Redis Pub/Sub** – простой и быстрый, но без гарантий доставки.
Пример:
```
import redis
r = redis.Redis()
r.publish('channel', 'message')
```
- **Celery** (с брокерами Redis/RabbitMQ) – для асинхронных задач и распределенных вычислений.
Выбор зависит от задачи: RabbitMQ для надежности, Kafka для потоков, Redis для простоты.