SYSTEM ATLASЗагрузка материала

Бюджет изменений API

API Change Budget

Ограничение числа и масштаба изменений контракта за период для снижения нагрузки на потребителей.

Простыми словами

Представьте приложение и сервер, которые развиваются не одновременно: у пользователей могут оставаться старые клиенты, а на сервере уже появился новый код. Хороший API должен переживать такие изменения предсказуемо и не заставлять каждую сторону угадывать правила. Так части системы можно менять по очереди, не превращая каждое изменение в одновременную переделку всего приложения. Поэтому решение оценивают по тому, насколько легко его менять локально, не растаскивая одну правку по всей системе.

Пример от @Vibeclakr

Пример при разработке

Например, для «Бюджет изменений API» назначают ответственного и добавляют тест или метрику, по которой видно реальный результат.

Это редакционный пример применения, а не часть определения или доказательство концепции.

Формальное определение

Ограничение числа и масштаба изменений контракта за период для снижения нагрузки на потребителей.

Механизм действия

Для «Бюджет изменений API» команда фиксирует область действия, владельца, проверяемый сигнал и поведение при нарушении условия.

Пример в работе

Нерабочий подход

Повторять термин «Бюджет изменений API», не объяснив, где он применяется, кто отвечает и по какому признаку видно результат.

Системный подход

Связать «Бюджет изменений API» с конкретным сценарием, автоматической или ручной проверкой и правилом пересмотра.

Ограничения

«Бюджет изменений API» решает ограниченную задачу и не заменяет проверку соседних рисков, исходных допущений и последствий для всей системы.

Источник

IETF, “RFC 9205: Building Protocols with HTTP”, 2022.

Первоисточник