2012-12-22 149 views
0

如果我使用git push更新在Heroku上运行的应用程序,并且此应用程序在多个dynos上运行 - Heroku的升级过程如何?Heroku升级过程?

  • 所有dynos在同一时间?
  • 一个又一个?
  • ...?

换句话说:我的“群集”是否会出现停机时间,或者我的应用的不同版本是平行运行还是会有一个小的时间范围,或者......?

回答

2

以及说不出的内部状态,但我所经历的

  • 码推编译(塞编译)
  • 后,所有DYNOS获得最新的代码,并获得重新启动完成
  • 代码。 (重启最多需要30秒左右,在此期间所有请求都会获得队列)。

因此,在重启过程中没有停机时间,所有的请求都会排队,我不认为在部署之后会运行多个版本的代码。

1

大家都说在更新Heroku应用程序时没有“停机时间”,但对于您的应用程序,这可能并非如此。

我最近工作的是一个大小适中的Rails应用程序,需要至少25秒才能启动,并且在将错误返回给客户端之前,Heroku经常会在30秒内启动。

在整个过程中,您的用户都在等待发生的事情。 30秒很长时间,他们可能没有耐心等待。

有人曾经告诉我,如果你有超过1个动态代码,那么它们会被单独重新启动,从而不会造成停机。这是不正确的 - Heroku停止所有的dynos,然后开始所有的Dynos。

任何时候你的应用程序在Heroku上都不会有2个版本运行