App Engine允许您在单个应用程序中拥有多个模块。我试图了解这有什么好处,而不是有多个App Engine项目。
在我的情况下,我有三个组件
无论我使用多个模块还是多个应用程序,组件之间的通信都是使用HTTP请求完成的。
使用模块,所有模块都使用相同的数据存储和内存缓存,但是对于不同的项目,它们每个都有自己的内存缓存和数据存储。我不认为这对我很重要,因为只有后端组件需要数据存储区。
我倾向于使用单独的应用程序而不是单独的模块,因为完全分离似乎更容易。
有什么理由我更喜欢单独的应用程序而不是模块,反之亦然?
答案 0 :(得分:1)
这个问题在某种程度上是基于意见的,但是有更多的理由可以使用services(因为它们现在已知)而不是单独的项目。
您引用了问题的主要原因:共享后端服务。虽然你认为并不重要,因为他们可能不需要数据存储,但我宁愿假设他们将来可能需要它们而不是(和然后必须通过您的其他应用程序的HTTP接口而不是直接数据存储RPC集成。
通过在同一个项目中使用不同的服务,您可以通过服务帐户之类的东西更简单地访问其他Cloud Platform服务(例如BigQuery)。
您还可以通过Modules Service获取服务发现等内容。如果您要作为单独的项目进行部署,App Engine将无法了解您的项目。
通过使用单独的项目,您可以获得与使用服务相同的分离,但放弃了上述优势。
有些人可能希望使用单独的项目从额外的28个免费实例时间中受益,但这不是我喜欢的长期设计目标。