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