藍綠部署(英語: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) (英語).