Что такое брокер сообщений

«Что такое брокер сообщений» — вопрос из категории Брокеры сообщений, который задают на 52% собеседований Системный Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Брокер сообщений — это промежуточное ПО, которое обеспечивает обмен сообщениями между приложениями, системами или компонентами. Он действует как посредник, принимая сообщения от отправителей (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()