Отправитель публикует сообщение в брокер и продолжает работу. Брокер сохраняет сообщение в очереди или топике. Получатель забирает сообщение тогда, когда готов его обработать. Если получатель временно недоступен — сообщение ждёт в брокере и не теряется. Популярные реализации: Apache Kafka, RabbitMQ, ActiveMQ, NATS.
Брокер управляет несколькими ключевыми аспектами: порядком доставки, количеством попыток при сбое, маршрутизацией по типу сообщения и хранением необработанных сообщений в специальной очереди (Dead Letter Queue).