2012-12-22 203 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個版本運行