Модели обмена сообщениями

Из-за распределенного характера облачных приложений требуется инфраструктура обмена сообщениями, которая соединяет компоненты и службы. В идеале нужно реализовать слабую связь, чтобы максимизировать масштабируемость. Асинхронный обмен сообщениями широко используется и предоставляет множество преимуществ. Но он тоже не лишен проблем, например с упорядочением сообщений, управлением сообщениями о сбое, идемпотентностью и т. д.

Модель Сводка
Асинхронные запросы и ответы Выполняйте серверную обработку не на внешнем узле, где серверная обработка должна быть асинхронной и когда интерфейс требует четкого ответа.
Проверка утверждений Разделение большого сообщения на схему проверки утверждений и полезную нагрузку, чтобы избежать перегрузки в канале сообщений.
Хореография Каждый компонент системы участвует в процессе принятия решений о ходе бизнес-транзакции, не полагаясь на центральную точку управления.
Конкурирующие потребители Несколько конкурирующих потребителей обрабатывают сообщения, полученные в одном канале обмена сообщениями.
Каналы и фильтры Задачу, которая требует сложной обработки, можно разбить на ряд отдельных элементов для повторного использования при необходимости.
Очередь с приоритетом Запросы, отправляемые в службу, получают разные приоритеты. При этом запросы с высоким приоритетом принимаются и обрабатываются быстрее, чем запросы с низким приоритетом.
Издатель-подписчик Настройка в приложении возможности асинхронно объявлять событие для нескольких объектов-получателей без взаимозависимости между отправителями и получателями.
Выравнивание нагрузки на основе очередей Очередь выполняет роль буфера между задачей и службой, которую она вызывает, позволяя сгладить кратковременные всплески нагрузки.
Saga Управление согласованностью данных в микрослужбах в сценариях распределенных транзакций. Сага — это последовательность транзакций, которая обновляет каждую службу и публикует сообщение или событие для активации следующего шага транзакции.
Планировщик, агент, контролер Координируйте ряд действий в распределенном наборе служб и других удаленных ресурсов.
Последовательная передача Обработка набора связанных сообщений в определенном порядке без блокирования обработки других групп сообщений.