Middle+
Tâche n° 4 (conception de l'intégration dans l'architecture du système) Vous êtes un analyste système pour l'ouverture de comptes juridiques. Une tâche a été reçue du client métier : implémenter un service d'ouverture de compte. Le service d'ouverture comprend la création d'un contrat et la réservation du compte. Lors de l'ouverture du compte, le contrat du client a été créé avec succès (enregistré dans la base de données). Le service de réservation a renvoyé une erreur technique. Quelles exigences, en tant qu'analyste de l'ouverture de comptes juridiques, présenteriez-vous aux FP Contrat et FP Réservation ? Options de mise en œuvre du scénario d'intégration, en tenant compte d'une architecture microservices distribuée. (Diagramme de séquence "Ouverture de compte courant pour les entreprises" avec les étapes d'interaction entre le Client, l'Application Web, l'Orchestrateur de l'ouverture de comptes juridiques, le FP Contrat et le FP Réservation de compte)
sobes.tech IA
Réponse de l'IA
В описанной ситуации, где при открытии счета договор создаётся, а резервирование счета завершается ошибкой, необходимо обеспечить согласованность данных и корректную обработку ошибок в распределённой микросервисной архитектуре.
Требования к ФП Договор:
- Поддержка транзакционной целостности или компенсационных операций (например, отмена созданного договора при ошибке резервирования).
- Возможность отката изменений (удаление или аннулирование договора) по запросу оркестратора.
- Идемпотентность операций создания договора, чтобы избежать дублирования при повторных вызовах.
Требования к ФП Резервирование:
- Чёткая обработка ошибок с информативными кодами и сообщениями.
- Возможность повторного вызова операции резервирования без негативных последствий (идемпотентность).
Варианты реализации интеграционного сценария:
-
Оркестрация с компенсационными транзакциями (SAGA):
- Оркестратор вызывает создание договора.
- При успешном создании договора вызывает резервирование счета.
- Если резервирование не удалось, оркестратор инициирует компенсационную операцию — отмену договора.
-
Использование очередей и событий (Event-driven):
- Создание договора и резервирование счета выполняются как отдельные события.
- При ошибке резервирования публикуется событие отмены договора.
-
Идемпотентные операции и повторные попытки:
- Оркестратор повторяет вызов резервирования с контролем состояния.
- При длительной ошибке инициируется компенсация.
Диаграмма последовательности должна отражать эти шаги, показывая вызовы от клиента к веб-приложению, далее к оркестратору, который последовательно взаимодействует с ФП Договор и ФП Резервирование, обрабатывая ошибки и выполняя компенсации.