сервис A: пользовательский сервис рендеринга страницы, получение схемы пользовательского интерфейса из B и информация о компонентах из API выпуска gitlab для рендеринга страницы (SSR).A имеет механизмы кэширования данных схемы.Эта услуга находится на кластере, который позволяет внешнее посещение.
служба B: веб-служба B находится в кластере, который позволяет только внутреннее посещение.Эта служба предоставляет:
- инструмент конфигурации схемы и API-интерфейсы CURD, которые инструмент конфигурации использует
- схема получения API для A.
- B также необходима информация о компонентах, поэтомупользователи инструмента (внутренний персонал) могут выбрать для создания своей собственной страницы, ориентированной на пользователя.
C: компоненты lib, публикация в CDN через gitlab CI / CD.Информация о выпуске (имя компонента и его собственная ссылка CDN) предоставляется через API выпуска gitlab.Gitlab находится на внутреннем сервере.
Мы обсуждаем одну проблему: чтобы сделать B пригодным для использования, когда gitlab не работает, кто-то предложил, чтобы информация о выпуске была резервной копией на A, поэтому, когда gitlab не работает, B может прочитать резервную копиюданные А.
Меня беспокоит то, что это предложение превращает цепочку в петлю.Я чувствую, что односторонний дизайн является более разумным.Если нам нужна резервная копия, мы могли бы использовать БД для резервного копирования информации о выпуске.Но я не могу обеспечить теоретическую поддержку моего заключения.Кроме того, поскольку поддержка нашей компанией кластеров A включена, отсутствует дорожная карта и, возможно, она будет перенесена куда-то в один день, поэтому я не хочу, чтобы B зависело от A.
Может ли кто-нибудь помочь выбрать правильное решение?для проблемы?