Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Google App Engine中常驻后端实例的可用性_Java_Python_Google App Engine_High Availability - Fatal编程技术网

Java Google App Engine中常驻后端实例的可用性

Java Google App Engine中常驻后端实例的可用性,java,python,google-app-engine,high-availability,Java,Python,Google App Engine,High Availability,我们的应用程序广泛依赖于。有些逻辑必须每隔几秒钟运行一次。此代码的执行不能仅由到达前端的请求驱动,因为它需要运行而不受影响 我们只考虑用它来解决这个问题。但据我们所知,任务队列只能保证任务在24小时内执行。不过,我还没有找到支持这一点的参考资料 我们的应用程序使用固定数量的后端实例。我们假设在部署和启动后端版本后,每个实例都保持24/7的活动状态 这是一个有效的假设吗?如果不是,是否可以在每次关闭后端实例时通知我们的应用程序 后端实例可用性的SLA是什么 后端实例是否在终止后自动重新启动?例如

我们的应用程序广泛依赖于。有些逻辑必须每隔几秒钟运行一次。此代码的执行不能仅由到达前端的请求驱动,因为它需要运行而不受影响

我们只考虑用它来解决这个问题。但据我们所知,任务队列只能保证任务在24小时内执行。不过,我还没有找到支持这一点的参考资料

我们的应用程序使用固定数量的后端实例。我们假设在部署和启动后端版本后,每个实例都保持24/7的活动状态

  • 这是一个有效的假设吗?如果不是,是否可以在每次关闭后端实例时通知我们的应用程序
  • 后端实例可用性的SLA是什么
  • 后端实例是否在终止后自动重新启动?例如,实例在内存耗尽后是否会自动重新启动
  • 如果每个实例都被终止,那么它们将以多快的速度再次启动
  • 我们在每个后端实例上创建一个固定大小的线程池。后端实例上的线程池是否有一个最大大小
  • 是否存在后端实例可能死亡的其他条件
谢谢

更新

事实证明,有几个问题可以通过阅读来回答

appengine试图让后端无限期地运行。但是,目前无法保证后端的正常运行时间

  • 那么正常运行时间的SLA是什么?我在寻找这样的声明:“后端的保证正常运行时间为99.99%”
当统计数据可用时,App Engine团队将提供更多关于预期后端正常运行时间的指导

  • 该统计数据何时可用?
认识到关闭钩子在后端终止之前并不总是能够运行,这一点也很重要。在极少数情况下,会发生停机,导致App Engine无法提供30秒的停机时间

当AppEngine需要关闭后端实例时,现有请求将有30秒时间完成,新请求将立即返回404

以下代码示例演示了一个基本的关闭挂钩:


我只运行常驻(非动态)后端的一个实例,我的经验是它每天至少重新启动一次。
您的应用程序必须能够存储其状态,并在重新启动后恢复。

感谢您的分享!我仍然希望得到更详细的答复。当前的文档(“当统计数据可用时,应用引擎团队将提供更多关于预期后端正常运行时间的指导。”)非常少。
LifecycleManager.getInstance().setShutdownHook(new ShutdownHook() {
  public void shutdown() {
    LifecycleManager.getInstance().interruptAllRequests();
  }
});