【问题标题】:Behaviour when doing requests between 2 Google AppEngine apps在 2 个 Google AppEngine 应用程序之间执行请求时的行为
【发布时间】:2012-08-23 09:19:54
【问题描述】:

我们在 Google AppEngine 上运行 2 个应用程序,一个在 Python 中,一个在 Java 中。

Python 应用面向互联网,为浏览器用户提供服务,或通过我们的智能手机应用为 API 调用提供服务。

Python 应用程序通常与提供工作流引擎服务的 Java 应用程序进行通信。 Java 应用程序永远不会直接从 Internet 访问。这类似于面向服务的架构。

我们的 Java 应用配置了 1 个常驻实例。 但是,我们经常看到,当 Python 应用程序向 Java 应用程序发送请求(此时它什么都不做)时,会生成一个新的 Java 实例,而不是让常驻实例为请求提供服务。这样一来,发现的延迟最长可达 10 秒,而处理请求本身的时间不到 1 秒。

Google 是否有可能将一个 appengine 应用程序向另一个应用程序发出的请求视为一种后端工作负载,在这种情况下,吞吐量比延迟更重要?来自 Internet 的请求与来自 Google 内部的请求是否有不同的策略(延迟方法、cron ......也许应用引擎间的请求也属于这一类,这可能并不总是正确的)。

Google 建议我将 Java 应用程序作为 Python 应用程序的后端运行,实际上只有 1 个 Appengine 应用程序,而不是 2 个。

此线程中的一些信息: https://groups.google.com/forum/?fromgroups=#!topic/google-appengine/8O7K3cFzBbY

关于如何强制 appengine 常驻实例处理传入请求,而不是生成和预热新实例,这可能对吞吐量有利,但对延迟不利?

【问题讨论】:

标签: google-app-engine


【解决方案1】:

是否尝试在您的 Java 应用上将 <threadsafe>true</threadsafe> 元素添加到 appengine-web.xml

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-14
    • 1970-01-01
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多