Слои и границы#
Кто за что отвечает?
Архитектура Eazy SDK разделяет декларацию контракта, выполнение вызова и работу транспорта.
Корень SDK только собирает роутеры, назначает им клиентов и адреса. Он не содержит операций
(eazy_sdk.root).
flowchart LR
Author["Автор SDK"] --> Declaration["Операции и роутеры"]
Declaration --> Compile["Компиляция контракта"]
Compile --> Execute["Единый исполнитель"]
Execute --> Transport["Обработчик транспорта"]
Transport --> Service["HTTP-сервис"]
Identity["Identity"] --> Execute
Serialization["Serialization"] --> Compile
Config["ClientConfig"] --> Execute
Владельцы решений#
Слой |
Владеет |
Не владеет |
Модуль |
|---|---|---|---|
Декларация |
Поля, путь, ответы, подпись, шифрование |
Соединение и повторы |
|
Корень SDK |
Состав роутеров, привязка клиента и адреса |
Операции и состояние транспорта |
|
Identity |
Авторизация, ключи подписи, зависимости, наблюдатель |
Cookies, прокси и пул соединений |
|
Serialization |
Адаптеры моделей и кодеки данных |
Политика повторов |
|
ClientConfig |
Повторы, перенаправления, защиты и middleware |
Учётные данные и модели |
|
Обработчик |
Преобразование подготовленного запроса в сетевой обмен |
Семантика операции |
Синхронный и асинхронный клиенты используют одну спецификацию выполнения. Синхронный драйвер
пошагово завершает ту же корутину без отдельного цикла событий; настоящий асинхронный ввод-вывод
требует AsyncClient (eazy_sdk.driver).