2011-08-21 134 views
19

我想了解什麼是應用程序的滾動重新啓動?像Application這樣的東西是在一個集羣中運行的,我們開始一個接一個地開啓機器嗎?還是與JVM關聯?什麼是應用程序的滾動重啓?

+0

我從來沒有聽說過'滾動重啓'這個詞。我想這就像順序重啓,e.i.首先啓動應用程序B,然後是應用程序A,然後是應用程序C.根據其依賴關係... – home

回答

23

應用程序的滾動重啓或ripplestart通常是可以在跨多個JVM或應用程序服務器(例如,集羣中)部署的應用程序上執行的操作,以逐步停止和啓動每個JVM上的應用程序。目的可能是讓應用程序獲取需要重新啓動的配置更改,同時確保應用程序的高可用性。

例如,ApplicationA已部署並在Server1,Server2和Server3上運行。管理員對ApplicationA進行更改,這需要重新啓動應用程序以便更改被選中。不是簡單地在所有服務器(JVM)上立即停止和啓動應用程序,而是可能導致應用程序短暫停機,應用程序可能會漣漪式啓動,以致ApplicationA在Server1上停止並啓動,而應用程序仍在Server2上運行和Server3。一旦應用程序在Server1上重新啓動,當應用程序在Server1和Server3上運行時,應用程序將在Server2上重新啓動。等等。

滾動重啓概念也可以更普遍地應用於羣集中運行的任何進程組,這些進程需要在保持高可用性的同時重啓。

+2

我同意shelley的看法,認爲此過程不是技術上嚴格的過程,而是通過部署維護系統可用性的方法。有趣的是,如果我的處理引擎都在使用遠程隊列,我可以通過向它們部署新代碼並重新啓動一次(如果我的代碼允許)而不是一次重新啓動滾動重新啓動。 – jpredham