2012-08-28 30 views
0

我们在Google AppEngine上运行2个应用程序,一个在Python中,一个在Java中运行。在2个Google AppEngine应用程序之间进行请求时的行为

的Python应用程序面向互联网和我们的智能手机应用程序提供浏览器用户或API调用。

的Python应用程序往往与Java应用程序,它提供工作流引擎服务进行通信。 Java应用程序永远不会从互联网上直接访问。这类似于面向服务的体系结构。

我们的Java应用程序配置了1个常驻实例。 但是,我们经常看到,当Python应用程序向Java应用程序发送请求(此时不做任何事情)时,会生成新的Java实例,而不是让驻留实例提供请求。这样,发现了10秒的延迟,而请求处理本身不到1秒。

难道是可能的,谷歌认为从一个AppEngine上的应用程序到另一个的请求,作为一种后台工作量,为此,吞吐量比延时更重要?对于来自互联网的请求采取不同的政策与来自Google内部的请求有不同的政策(被拒绝的方法,cron,......也许这些内部发布的请求也采用这一类别,这可能并不总是正确的)。

谷歌推荐我来运行Java应用程序的Python应用程序的后端,事实上只有1单AppEngine上的应用程序,而不是2

一些信息在这个线程,: https://groups.google.com/forum/?fromgroups=#!topic/google-appengine/8O7K3cFzBbY

有关如何强制appengine驻留实例处理传入请求的建议,而不是生成并预热新实例,这可能对吞吐量有好处,但对延迟有害?

+0

你要为为1,这里解释? https://developers.google.com/appengine/docs/java/config/backends#Backends_Definitions –

+0

目前我不使用后端;相反,我使用2个不同的appengine应用程序。面向互联网的人是Python;内部是Java。我一定会尝试将Java功能设置为Python的后端,并且只有一个appengine应用程序。但问题在于Google是否针对来自互联网的工作负载提供了不同的延迟和吞吐量策略,以及来自Google数据中心的工作负载(例如,另一个appengine应用程序,受到攻击,cron,热身等) –

+0

政策问题最好问他们的小组:https://groups.google.com/forum/?fromgroups#!forum/google-appengine –

回答

1

是否尝试过在你的Java应用程序添加<threadsafe>true</threadsafe>元素appengine-web.xml

+0

是的,就在那里。 –

相关问题