這篇文章介紹一下藍綠部署以及使用nginx如何最簡單地模擬一下藍綠部署的方式
藍綠部署
藍綠部署的重點在于如下特點
優點和缺點分析:優點在于它的速度和回滾。而缺點也顯而易見。可以快速回滾是因為有兩套環境同時存在的緣故,所以復雜度和需要的資源會增多,因為其有兩套環境。
另外雖然速度有所提高,但是在實現的過程中,開關的控制,無論多快的切換速度,如果不結合其他的技術,還是無法做到完全無縫切換。
模擬藍綠部署
接下來我們使用nginx的upstream來簡單模擬一下藍綠部署的場景。具體場景如下, 當前活躍的是藍色版本,通過調整nginx設定,將綠色版本設定為當前活躍版本。
事前準備
事前在7001/7002兩個端口分別啟動兩個服務,用于顯示不同信息,為了演示方便,使用tornado做了一個鏡像,通過docker容器啟動時傳遞的參數不同用于顯示服務的不同。
docker run -d -p 7001:8080 liumiaocn/tornado:latest python /usr/local/bin/daemon.py "Hello blue/green service: v1 in 7001" docker run -d -p 7002:8080 liumiaocn/tornado:latest python /usr/local/bin/daemon.py "Hello blue/green service: v2 in 7002"