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