gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 09:22:48 24 4
gpt4 key购买 nike

我们的应用广泛依赖于 backend instances .有些逻辑必须每隔几秒运行一次。此代码的执行不能仅由到达前端的请求驱动,因为无论如何它都需要运行。

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

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

  • 这是一个有效的假设吗?如果不是,是否可以在每次关闭后端实例时通知我们的应用程序?
  • 关于后端实例可用性的 SLA 是什么?
  • 后端实例是否在终止后自动重启?例如。实例内存不足后是否自动重启?
  • 如果实例全部终止,实例将多快重新启动?
  • 我们在每个后端实例上创建一个固定大小的线程池。我们可以在后端实例上拥有的线程池是否有最大大小?
  • 是否有任何其他情况会导致后端实例死亡?

谢谢!

更新

事实证明,阅读 the 可以回答几个问题。 docs .

App Engine attempts to keep backends running indefinitely. However, at this time there is no guaranteed uptime for backends.

  • 那么正常运行时间的 SLA 是什么?我正在寻找类似这样的声明:“后端的保证正常运行时间为 99.99%”

The App Engine team will provide more guidance on expected backend uptime as statistics become available.

  • 此统计数据何时可用?

It's also important to recognize that the shutdown hook is not always able to run before a backend terminates. In rare cases, an outage can occur that prevents App Engine from providing 30 seconds of shutdown time.

When App Engine needs to turn down a backend instance, existing requests are given 30 seconds to complete, and new requests immediately return 404.

The following code sample demonstrates a basic shutdown hook:

LifecycleManager.getInstance().setShutdownHook(new ShutdownHook() {
public void shutdown() {
LifecycleManager.getInstance().interruptAllRequests();
}
});

最佳答案

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

关于java - Google App Engine 中常驻后端实例的可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16325756/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com