2012-12-04 41 views
0

根据形状谷歌的App Engine是,我的应用程序可以需要很长时间才能启动:谷歌App Engine的分裂前端和后端

Caused by: com.google.apphosting.api.DeadlineExceededException: This request (d872b776bcbbfd27) started at 2012/12/04 17:35:28.861 UTC and was still executing at 2012/12/04 17:36:28.348 UTC

该应用程序包含了前端和各种后端和全应用程序似乎每个实例启动一次,并且无论如何都不会在后端使用许多过滤器,安全性等。

是否可以拆分应用程序并单独部署前端和后端?我将如何在我的开发服务器上运行这个基于maven的应用程序?

这里只有模糊的文档 - 我能找到在谷歌App Engine的文档最接近:
https://developers.google.com/appengine/docs/java/backends/overview
You can place your backends in a separate application root directory if you want to avoid sharing code or handlers, ...

而且对于开发环境,net.kindleit.maven-gae-plugin是完全沉默,它的配置PARAMS backend和/或backendDir

有人可以提供关于是否/如何达到的更多细节?

感谢,斯特凡

+0

是什么让你觉得“分裂前端和后端”会让你的应用更快启动? –

+0

对我来说,Google doc听起来好像可以部署两场战争,一场用于前端,另一场用于后端,并且在前端请求进入时,并非所有后端servlet都需要启动,反之亦然。 –

+0

您可以通过选择性地在应用程序中调用哪些代码来做到这一点 - 您不需要单独的应用程序或版本,Java只会加载您要求的类。 –

回答

1

你可以上传你的应用程序的多个版本。每个版本可以完全独立于另一个版本,尽管所有版本共享相同的数据存储。例如,您通常不能在一个运行时间内混合使用Java/Python/Go。但是,您可以在Python中使用一个版本,在Java中使用另一个版本。

您可以通过.appspot.com访问您的默认版本。您的其他版本在..appspot.com

访问你需要做的是:

1. clone your current app 
2. change the version for your lean version 
3. deploy lean version 
4. modify the main version to access backends at <instance>.<backend-name>.<lean-version>.<appid>.appspot.com 
5. deploy main version 

管理共享源可能是另外一个问题,虽然,你可能需要使用软链接。