我正在开发我的第一个App Engine灵活环境应用程序。
docs解释虚拟机每周重启:
每周重新启动VM实例。重启期间 谷歌的管理服务将应用任何必要的操作系统 和安全更新。
重启是否会导致启用了自动缩放的应用的停机时间?如果是这样,我可以采取任何措施来避免停机吗?
例如,我可以经常将流量迁移到新实例,这样就不会有一个实例运行超过一周。
答案 0 :(得分:0)
好吧,后来我咨询了Google支持团队,并在这里向他们咨询了他们的建议,以避免停机。
我的问题是:
每周更新时间不固定。也许在一段时间内,我应该期望实例的重新启动? (即:晚上的每个星期五)。
每周更新涉及所有实例,而与创建时间无关? (即:在每周更新之前1小时或1天创建的实例将重新启动吗?)。
我们应该如何处理这样的问题?它会同时为所有请求返回502。
1.-目前无法知道每周重新启动的时间。 GCP确定何时需要,并重新启动某些实例(每周一次)。
2.-不,只要您有多个实例在运行,您就不会看到所有实例都在同一时间重新启动。
3.-我们建议避免由于每周重新启动而导致停机的建议是,至少要有1个以上的实例。尝试至少设置至少2个实例。
我希望您发现此信息对其他人有用。
答案 1 :(得分:-1)
您的问题的答案位于docs:
App Engine尝试无限期地保持手动扩展实例运行,但没有正常运行时间保证。导致提前终止或频繁重启的硬件或软件故障可能在没有警告的情况下发生,并且可能需要相当长的时间才能解您的应用程序应该能够处理此类故障。
以下是一些避免因实例重启而导致停机的好策略:
- 跨多个实例使用负载平衡。
- 配置比处理正常流量所需的更多实例。
- 编写在手动扩展实例不可用时使用缓存结果的回退逻辑。
- 减少实例启动和关闭所需的时间。
- 跨多个实例复制状态信息。
- 对于长时间运行的计算,请不时检查状态,以便在没有完成时恢复。