Back to questions
СБЕР
Middle+
4
Задача №4 (проектирование интеграции в МС архитектуре) Вы системный аналитик АС Открытие счета ЮЛ по ведению счетов. Поступила задача от бизнес заказчика: реализовать сервис открытия счета. Сервис открытия включает в себя создание договора и резервирование счета. При открытии счета успешно создался договор клиента (сохранился в БД). Сервис резервирования вернул техническую ошибку. Какие требования, как аналитик АС Открытие счета ЮЛ предъявите ФП Договор и ФП Резервирование? Варианты реализации интеграционного сценария, учитывая распределенную микро сервисную архитектуру. (Диаграмма последовательности "Открытие расчетного счета для ЮЛ" с шагами взаимодействия между Клиентом, Веб приложением, АС Открытие счета ЮЛ Оркестратором, ФП Договор и ФП Резервирование счета)
Companies where asked
Answer from AI
sobes.tech AI
В описанной ситуации, где при открытии счета договор создаётся, а резервирование счета завершается ошибкой, необходимо обеспечить согласованность данных и корректную обработку ошибок в распределённой микросервисной архитектуре.
Требования к ФП Договор:
- Поддержка транзакционной целостности или компенсационных операций (например, отмена созданного договора при ошибке резервирования).
- Возможность отката изменений (удаление или аннулирование договора) по запросу оркестратора.
- Идемпотентность операций создания договора, чтобы избежать дублирования при повторных вызовах.
Требования к ФП Резервирование:
- Чёткая обработка ошибок с информативными кодами и сообщениями.
- Возможность повторного вызова операции резервирования без негативных последствий (идемпотентность).
Варианты реализации интеграционного сценария:
-
Оркестрация с компенсационными транзакциями (SAGA):
- Оркестратор вызывает создание договора.
- При успешном создании договора вызывает резервирование счета.
- Если резервирование не удалось, оркестратор инициирует компенсационную операцию — отмену договора.
-
Использование очередей и событий (Event-driven):
- Создание договора и резервирование счета выполняются как отдельные события.
- При ошибке резервирования публикуется событие отмены договора.
-
Идемпотентные операции и повторные попытки:
- Оркестратор повторяет вызов резервирования с контролем состояния.
- При длительной ошибке инициируется компенсация.
Диаграмма последовательности должна отражать эти шаги, показывая вызовы от клиента к веб-приложению, далее к оркестратору, который последовательно взаимодействует с ФП Договор и ФП Резервирование, обрабатывая ошибки и выполняя компенсации.