服务A:面向定制的页面渲染服务,从B获取UI模式,并从gitlab版本API获取组件信息以渲染页面(SSR)。具有用于模式数据的缓存机制。该服务位于群集上,允许外部访问。
服务B:Web服务B在群集中,仅允许内部访问。该服务提供:
C:组件库,通过gitlab CI / CD发布到CDN。发行信息(组件名称和其自己的CDN链接)通过gitlab发行API提供。 gitlab在内部服务器上。
我们争论的一个问题是:为了使gitlab关闭时B可用,有人建议发布信息应备份到A上,因此当gitlab关闭时B可以从A读取备份数据。
我担心的是,该建议使链条成为一个循环。我觉得单向设计比较合理。如果需要备份,可以使用数据库来备份发行信息。但是我不能为我的结论提供理论上的支持。此外,由于我们公司对群集A的支持尚缺乏路线图,也许有一天它会迁移到某个地方,所以我不希望B依赖于A。
任何人都可以帮助选择正确的解决方案吗?