Простыми словами
Например, в проекте для «потоковый обработчик» добавляют проверку «контракт доставки»: конфигурация задаёт порог, автоматизация собирает сигнал, а превышение блокирует продвижение либо переводит систему в заранее описанный безопасный режим. Поэтому при проектировании заранее решают, что произойдёт при задержке, повторе запроса или потере связи - иначе редкий сетевой сбой превращается в дубли, противоречивые данные или зависание.
Пример при разработке
Например, для «потоковый обработчик» задают понятный порог и автоматическую проверку «контракт доставки». Если порог нарушен, выпуск останавливают или система переходит в заранее выбранный безопасный режим.
Это редакционный пример применения, а не часть определения или доказательство концепции.Формальное определение
Для «потоковый обработчик» это явное соглашение о подтверждении, повторе, порядке и допустимых дубликатах при передаче сообщения или задания. Заранее задают подтверждение, повтор и дедупликация и способ увидеть результат. Если результат нельзя проверить, правило существует только на бумаге.
Механизм действия
Для «потоковый обработчик» сначала фиксируют исходное состояние, подтверждение, повтор и дедупликация, допустимый порог и действие на случай нарушения. Затем проверяют это в тестах, при выпуске или в работе системы и сохраняют результат.
Пример в работе
Записать «Контракт доставки: потоковый обработчик» в документации и считать работу законченной, не назначив ответственного и не определив, как проверить результат.
Назвать конкретный риск, задать подтверждение, повтор и дедупликация, назначить ответственного и пересматривать правило после значимых изменений.
Ограничения
«Контракт доставки: потоковый обработчик» закрывает только один класс риска. Она не заменяет проверку безопасности, корректности данных, отказоустойчивости и пользовательских последствий.
Источник
Gregor Hohpe, Bobby Woolf, «Enterprise Integration Patterns», без даты.