如果我使用更新在 Heroku 上运行的应用程序git push
并且该应用程序在多个 dynos 上运行 - Heroku 如何运行升级过程?
- 同时使用所有测功机?
- 相继?
- ...?
换句话说:我的“集群”会出现停机时间,还是会有一个小的时间范围内我的应用程序的不同版本并行运行,或者......?
不能告诉内部状态,但我所经历的是
所以不会有停机时间,因为在重新启动过程中,所有请求都会排队,我认为在部署后不会运行多个版本的代码。
每个人都说更新 Heroku 应用程序时“没有停机时间”,但对于您的应用程序来说,这可能不是真的。
我最近开发了一个大小合理的 Rails 应用程序,该应用程序至少需要 25 秒才能启动,并且通常无法在 Heroku 允许的 30 秒内启动,然后才会将错误返回给您的客户。
在这整个过程中,您的用户都在等待某些事情发生。30秒是很长的时间,他们可能没有足够的耐心等待。
有人曾经告诉我,如果你有超过 1 个测功机,它们会单独重新启动,以免停机。这不是真的 - Heroku 停止所有测功机,然后启动所有测功机。
任何时候都不会在 Heroku 上运行您的应用程序的 2 个版本