Rolling Deployment
滾動部署
滾動部署會分批用新版應用程式替換舊版。每一步只更換執行群組的一部分,因此新舊版本可能同時存在。
old batch -> start and verify new batch -> drain old batch -> repeat- 1v1
- 2v1
- 3v2 ✓
- 4v2 ✓
2 / 2 ready→old batch -> start and verify new batch -> drain old batch -> repeatOPS另一個例子
某服務有四個執行個體。可以多啟動一個,但不能少掉任何一個。每批就緒後,才能替換下一批。
主要部分
- 01舊版執行個體群組
- 02新版執行個體群組
- 03批次大小
- 04不可用與額外容量上限
- 05就緒與停止接收流量
- 06暫停與回滾規則
什麼時候用
新舊版本能同時執行,而且能維持足夠容量時,可以使用滾動部署。要定義批次、就緒、暫停、失敗和回滾規則。
什麼時候不要用
不要保證完全不停機。就緒檢查不足、容量太少、長連線或不相容的資料變更,仍可能中斷服務。
程式裡的名稱
old batch -> start and verify new batch -> drain old batch -> repeat 上線前要檢查
發布前核對正確的程式碼儲存庫、分支、目標與程式差異。保留尚未發布的工作,並通過審查與自動檢查(CI)。記錄衝突、資料遺失風險、發布順序、版本追查、復原與回復上一版的方法。
預期成果:用 滾動部署 (Rolling Deployment) 安全交付或復原變更,並留下可查核記錄。 使用者情境:某服務有四個執行個體。可以多啟動一個,但不能少掉任何一個。每批就緒後,才能替換下一批。 交付概念或操作:滾動部署 (Rolling Deployment)。 適用理由:新舊版本能同時執行,而且能維持足夠容量時,可以使用滾動部署。要定義批次、就緒、暫停、失敗和回滾規則。 不應使用的情況:不要保證完全不停機。就緒檢查不足、容量太少、長連線或不相容的資料變更,仍可能中斷服務。 交付要求:指出程式碼儲存庫與目標。列出前置條件、變更內容、審查與自動檢查(CI)、衝突和資料遺失風險、發布順序,以及復原或回復上一版的指令。 儲存庫防護:保留尚未發布的工作與可查核歷史。沒有明確備份時,不可執行破壞性操作。發布前核對精確的程式差異與遠端儲存庫目標。 驗收條件:預期的程式差異已審查,必要檢查已通過。目標版本可追查,失敗復原已演練,發布歷史也可查核。 證據與限制(證據邊界):沒有一份官方標準能管到全部內容。不同團隊、平台或框架的用法可能不同。 待確認:程式碼儲存庫與分支、協作狀態、發布環境、核准負責人、受保護的檢查,以及要回復的版本。
檢查這份需求
請 AI 程式助手檢查目前如何使用 滾動部署 (Rolling Deployment)。 定義:滾動部署會分批用新版應用程式替換舊版。每一步只更換執行群組的一部分,因此新舊版本可能同時存在。 正式環境檢查:發布前核對正確的程式碼儲存庫、分支、目標與程式差異。保留尚未發布的工作,並通過審查與自動檢查(CI)。記錄衝突、資料遺失風險、發布順序、版本追查、復原與回復上一版的方法。 修改程式前,先列出看到的證據、缺口、嚴重程度,以及最小且安全的修正。