藍綠部署(英語:blue–green deployment)在軟體工程中,是一種通過交換生產伺服器和臨時伺服器來對Web、應用或資料庫伺服器部署軟體更改的方法。

概述 編輯

在藍綠部署中存在兩種伺服器:「藍色」伺服器和「綠色」伺服器。在任何特定時刻,只有其中一台伺服器處理請求(可以通過DNS來選擇特定伺服器)。例如,當藍色伺服器作為生產環境的伺服器時,外部網絡來的請求被路由到藍色伺服器;而此時綠色伺服器作為臨時伺服器,只能通過私有網絡訪問。軟體的更改安裝在臨時伺服器上,通過私有網絡進行測試,以驗證更改是否按預期工作。驗證後,藍、綠伺服器交換顏色,從而從而使得已部署的軟體更改在生產環境中生效。 [1]

這種軟體部署方法可以保證在出現任何問題時都能夠快速回滾到軟體更改被部署之前的狀態。這種回滾是通過簡單地將IP層的流量路由回之前的、未部署最近的軟體更改的生產伺服器來實現的。 [2]藍綠部署方法的另一個好處是減少伺服器的停機時間。由於路由會立即從一台伺服器切換到另一台伺服器,因此理想條件下不會出現請求得不到處理的情況。[3]

藍綠部署技術通常被拿來與金絲雀發布部署技術進行對比。[3]

參考來源 編輯

  1. ^ LaToza, Thomas. Deployment (PDF). 2019 [2020-01-14]. (原始內容 (PDF)存檔於2020-01-14) (英語). 
  2. ^ Fowler, Martin. Blue Green Deployment. 2010-03-01 [2020-01-14]. (原始內容存檔於2020-01-10) (英語). 
  3. ^ 3.0 3.1 Posta, Christian. Blue-green Deployments, A/B Testing, and Canary Releases. 2015-08-03 [2020-01-14]. (原始內容存檔於2018-03-30) (英語).