Ответ
Брокер сообщений — это промежуточное ПО, которое обеспечивает обмен сообщениями между приложениями, системами или компонентами. Он действует как посредник, принимая сообщения от отправителей (producers) и доставляя их получателям (consumers), обеспечивая надежность, масштабируемость и асинхронность.
Ключевые функции:
- Буферизация — временное хранение сообщений.
- Маршрутизация — определение получателя на основе правил.
- Обеспечение доставки — подтверждение получения, повторные попытки.
- Поддержка паттернов (pub/sub, point-to-point).
Примеры брокеров: RabbitMQ, Apache Kafka, ActiveMQ.
Пример кода (RabbitMQ, Python):
import pika
# Producer
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()
# Consumer
def callback(ch, method, properties, body):
print(f"Received {body}")
channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True)
channel.start_consuming()