MTB ESB Documentation

Интеграционные потоки

Когда использовать direct, async и orchestrated API flow.

Интеграционные потоки

Тип потока выбирается до настройки API. Выбор определяет контракт ответа, внутренний маршрут, правила correlation, timeout, retry и способ информирования потребителя.

Быстрый выбор

ПотокИспользовать, когдаОтвет потребителю
DirectОдна целевая операция, нет сложной координацииВ рамках исходного вызова либо согласованного sync/reply-механизма
AsyncРезультат не требуется немедленно или обработка длительнаяПодтверждение приёма, результат позже через callback
OrchestratedНужны несколько шагов, ветвление или компенсацияЗависит от контракта: sync или async

Не выбирайте поток по названию HTTP-метода

GET или POST сами по себе не определяют внутреннюю архитектуру. Решение зависит от бизнес-сценария, допустимой задержки, надёжности целевой системы и необходимости нескольких шагов.

Direct flow

Direct flow используется для одной логически завершённой операции над одной целевой системой.

Подходит, если:

  • операция имеет одного основного обработчика;
  • не требуется координация нескольких адаптеров;
  • правила преобразования локализованы в адаптере;
  • timeout и повторная обработка однозначно определены.

Async flow

Async flow отделяет приём запроса от доставки результата. Потребитель получает подтверждение, а финальный результат приходит по зарегистрированному callback-маршруту.

Для async-контракта обязательно согласовать:

  • формат подтверждения приёма;
  • идентификатор для сопоставления результата;
  • callback endpoint и механизм его защиты;
  • retry и срок доставки callback;
  • поведение после исчерпания повторов.

Orchestrated flow

Orchestrated flow используется для процесса, который объединяет несколько действий или требует явного управления состоянием выполнения.

Подходит, если:

  • необходимо вызвать несколько систем;
  • следующий шаг зависит от результата предыдущего;
  • нужны ветвления, повторные попытки или компенсация;
  • жизненный цикл процесса должен быть виден отдельно от отдельного API-вызова.

Что фиксируется при выборе потока

Перед реализацией команда документирует:

  1. тип потока и обоснование выбора;
  2. входной и выходной API-контракт;
  3. целевой topic и message key;
  4. correlation и trace identifiers;
  5. timeout на каждом значимом участке;
  6. retry, DLQ и правила ручного восстановления;
  7. idempotency requirements;
  8. владельца API, маршрута и целевой системы.

On this page