我想知道 GAE 的“静默”部署方法是否可能导致停机。我正在使用
inbound_services:
- warmup
-no-promote --no-stop-previous-version
并在进入 App Engine 和将流量从旧版本迁移到新版本之前使用标志部署应用程序。
客户是否仍有可能注意到正在进行部署?
答案1
是的,部署仍然有可能影响客户体验 - 您应该逐步将流量迁移到新版本,而不是一次性全部迁移。
切换到新默认版本时使用流量拆分
在以下情况下,高流量应用程序更新到新版本时可能会出现错误或更高的延迟:
- 完成新默认版本的更新
- 设置默认版本
更新完成后,App Engine 将向新版本发送请求。但是,新版本可能需要一些时间来启动足够的实例来处理所有流量。在此期间,请求可能会停留在待处理队列中,并且可能会超时。
因此,为了最大限度地减少延迟和错误,我们建议客户使用流量分割在将新版本设为默认版本之前,将流量逐步转移到新版本。
当您将流量转移到新版本时,应用程序可能会处理来自两个版本的请求。在大多数情况下,这不会造成任何问题。但是,如果应用程序使用的缓存对象不兼容,则需要确保用户在会话期间转到同一版本的应用程序。您需要将此编码到应用程序逻辑中。