Ответ
RabbitMQ — это брокер сообщений с открытым исходным кодом, реализующий протокол AMQP (Advanced Message Queuing Protocol). Он позволяет приложениям обмениваться сообщениями асинхронно, обеспечивая надежность, масштабируемость и декомпозицию сервисов.
Ключевые особенности:
- Очереди сообщений (Queues)
- Обменники (Exchanges) для маршрутизации
- Поддержка различных паттернов (Pub/Sub, RPC и др.)
- Персистентность сообщений
- Подтверждение доставки (ACK/NACK)
Пример объявления очереди на 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!')
connection.close()