Часто асинхронные интеграции строятся через брокеры сообщений. Брокер – это промежуточный компонент, который принимает сообщения от отправителей и передает их получателям. Он помогает разделить системы и сделать обмен данными более надежным.
К популярным брокерам и платформам обмена сообщениями относятся RabbitMQ, Apache Kafka, ActiveMQ и другие решения. Для аналитика важнее не просто знать названия инструментов, а понимать принципы: очередь, топик, сообщение, событие, подписчик, производитель, потребитель, повторная обработка, подтверждение получения.
Брокер сообщений может выполнять несколько важных задач:
- Принимать сообщения от одной или нескольких систем;
- Хранить сообщения до момента обработки;
- Передавать сообщения одному или нескольким получателям;
- Поддерживать повторные попытки обработки;
- Помогать выдерживать пиковые нагрузки;
- Снижать прямую зависимость между сервисами;
- Обеспечивать более управляемую интеграционную архитектуру.
Например, сервис заказов не обязан знать, какие конкретно системы обрабатывают событие «Заказ создан». Он просто публикует событие, а подписчики сами получают нужные данные.