在叢集環境中,輪流升級可在損失最少服務與階段作業的狀況下,重新部署應用程式。階段作業是任何可以重複的工件,例如:
HttpSession
SingleSignOn
ServletTimer
DialogFragment
有狀態的階段作業 Bean
在 GlassFish Server 中,您可以使用負載平衡器和多個叢集來升級元件,而不使服務受到任何損失。例如,元件可以是 JVM 機器、GlassFish Server 軟體或 Web 應用程式。
輪流升級可在負載較小或適中時進行。對於每個 GlassFish Server 實例,該程序需時約 10-15 分鐘。
應用程式在升級過程中必須相容。因為在轉換期間,某些實例會執行舊版應用程式,而某些實例會執行新版應用程式,所以這些應用程式必須能夠正確運作。舊版和新版應用程式必須具有相同形式的可串列化類別,而這些可串列化類別是用來形成階段作業中儲存的物件圖形 (例如非瞬時實例變數)。如果必須變更這些類別的形式,應用程式開發人員就必須確保會發生正確的串列化行為。如果應用程式在升級過程中不相容,就必須停止叢集以進行完整的重新部署。
如果應用程式升級涉及變更應用程式資料庫模式,則無法使用這種方法。
注意 - 為了防止階段作業容錯移轉時發生版本不相符的風險,請同時升級叢集中的所有實例。否則,階段作業可能會容錯移轉至執行不同元件版本的實例。
請對每個叢集分別執行此作業。叢集可做為叢集中實例的階段作業容錯移轉安全界限。某個叢集內的階段作業絕對不會容錯移轉至另一個叢集中的階段作業。從而避免了版本不相符的風險。
另請參閱
版權所有 © 2005, 2011, Oracle 和 (或) 其關係公司。 保留一切權利。 法律聲明