2016-05-10 38 views
0

App Engine允许您在单个应用程序中拥有多个模块。我试图了解这是多少App Engine项目的好处。GAE:多个模块与多个应用程序

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

  • 后端组件,做所有的处理,存储所有数据,并与一个REST API
  • 第一前端访问(例如,中,请求处理程序)组件根据该可能不需要其自身的数据存储
  • 下也可能并不需要它自己的数据存储中的第二域名的第二前端组件的第一域名。

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

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

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

是否有任何理由,我应该喜欢单独的应用程序模块,反之亦然?

+0

如果它可以滥用免费的每日配额,它会针对同一系统使用多个appengine来对抗appengine TOS。 –

回答

1

这个问题有点基于观点,但有更多的理由使用services(因为他们现在已知)在单独的项目

您引用了您的问题的主要原因:共享后端服务。虽然你不认为的事项,因为它们很可能不需要数据存储,我宁愿认为他们可能需要他们的未来比不了(然后还要通过您的其他应用的HTTP接口,而不是直接集成的数据存储RPC)。

通过在同一项目使用不同服务,你到其他的云端平台服务(例如大量查询)贯穿东西像服务帐户简单的访问中受益。

您还可以得到的东西想通过Modules Service服务发现。如果您要将其部署为单独的项目,则App Engine不知道您的项目。

通过使用单独项目,你会得到几乎相同的分离为使用服务,但放弃上述的好处。

有些人可能想使用一个单独的项目从一个额外的免费28小时的情况下受益,但是这不会是我喜欢一个伟大的长远设计目标。

+1

使用服务也有一些缺点。如:如果您使用通道API,则只能将数据发送到主服务中的通道,因此主模块必须是前端。路由不适用于任何事情,它在开发服务器上完全不起作用,因此使用服务进行开发是一件非常痛苦的事情。尽管如此,您仍然会遇到类似的问题,但多个开发人员服我想我想说的是,服务并不像人们所希望的那样完美。 – konqi

+0

使用开发服务器进行路由的好处,我忘记了Channel API的限制。 – tx802