GAE:多个模块与多个应用程序

GAE: multiple modules vs. multiple applications

A​​pp Engine 允许您在单个应用程序中拥有多个模块。我正在尝试了解这样做比拥有多个 App Engine 项目有什么好处。

在我的情况下,我有三个组成部分

无论我使用多个模块还是多个应用程序,组件之间的通信都是使用 HTTP 请求完成的。

对于模块,所有模块都使用相同的数据存储和内存缓存,但对于不同的项目,它们将各自拥有自己的内存缓存和数据存储。我认为这对我来说不重要,因为只有后端组件需要数据存储。

我倾向于使用单独的应用程序而不是单独的模块,因为完全分离似乎更容易。

有什么理由让我更喜欢单独的应用程序而不是模块,反之亦然?

这个问题有点基于意见,但有更多的理由在单独的 项目 .[=12= 上使用 services(现在已知) ]

您在问题中列举了主要原因:共享后端服务。尽管您认为不重要,因为他们可能不需要 Datastore,但我宁愿假设他们将来可能需要它们(然后必须通过其他应用程序的 HTTP 接口而不是直接数据存储 RPC 进行集成)。

通过在同一个项目中使用不同的服务,您可以通过以下方式更轻松地访问其他 Cloud Platform 服务(例如 BigQuery)诸如服务帐户之类的东西。

您还可以通过 Modules Service 获得诸如服务发现之类的东西。如果您要部署为单独的项目,App Engine 无法识别您的项目和我的项目。

通过使用单独的项目,您获得与使用服务几乎相同的分离,但放弃了上述好处。

有些人可能想使用一个单独的项目来从额外的 28 个免费实例小时中受益,但这不是我喜欢的长期设计目标。