Ответ
Брокер сообщений — это промежуточное ПО, которое обеспечивает асинхронный обмен сообщениями между компонентами системы. Он принимает, хранит, маршрутизирует и доставляет сообщения от отправителей к получателям, обеспечивая надежность, масштабируемость и декомпозицию сервисов.
Примеры брокеров: RabbitMQ, Kafka, NATS.
Пример на Go с RabbitMQ:
conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")
ch, err := conn.Channel()
q, err := ch.QueueDeclare("hello", false, false, false, false, nil)
err = ch.Publish("", q.Name, false, false, amqp.Publishing{
ContentType: "text/plain",
Body: []byte("Hello, world!"),
})
Плюсы:
- Асинхронность
- Буферизация нагрузки
- Развязка сервисов
Минусы:
- Дополнительная инфраструктура
- Задержки доставки
- Сложность отладки
Видео-ответы
▶
▶
▶
▶