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

Матрица совместимости API

API Compatibility Matrix

Таблица совместимости версий клиентов, серверов, схем и функций, используемая при выпуске изменений.

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

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

Пример от @Vibeclakr

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

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

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

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

Таблица совместимости версий клиентов, серверов, схем и функций, используемая при выпуске изменений.

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

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

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

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

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

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

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

Ограничения

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

Источник

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

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