在GAE项目/应用程序级别与服务/模块级别上实施CI / CD环境的优势?

Google 在命名开发人员环境中建议了两种方法来为GAE应用程序实现不同的CI / CD环境


基于同一项目/应用程序内的不同服务(以前称为模块):

如果选择仅使用多种服务来创建应用微服务,您可以为每个环境的一个App Engine的项目,并将其命名相应的,如web-app-dev, web-app-qa和web-app-prod。


基于不同的项目/应用程序:

另外,如果您选择创建通过使用多个项目您的微服务的应用程序,可以实现环境之间相同的分离,但你需要使用更多的项目,如 web-app-dev,web-app-prod,user-service-dev,和 user-service-prod。您将需要使用代码模式来确保dev项目仅调用其他dev项目,而prod 项目仅调用其他prod项目。


在此处输入图片说明


上述文档摘要中的措辞似乎表明这两种方法大致相同,但是这两种方法之间至少有一个重大区别:基于项目/应用程序的方法可确保数据隔离,而基于服务/模块的方法则不会。 -数据存储区和内存缓存由所有服务共享。


从服务隔离和项目隔离的比较中,可以从隔离的角度对这两种方法进行更详细的比较:


下表提供了在微服务架构中使用多个服务和多个项目之间的比较:


在此处输入图片说明


我的问题是:除了上述差异之外,与基于服务的方法相比,使用基于项目的方法还有其他优势吗?或任何可能被视为不利的东西?


aluckdog
浏览 403回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP