我們有一個在bluemix上運行的應用程序,但是無論我們何時部署應用程序停止,新版本都會被編譯/捆綁然後啓動,所有這些導致停機時間至少爲60s 。如何在不停機的情況下在Bluemix中部署
我們如何在沒有停機的情況下進行部署?
我們有一個在bluemix上運行的應用程序,但是無論我們何時部署應用程序停止,新版本都會被編譯/捆綁然後啓動,所有這些導致停機時間至少爲60s 。如何在不停機的情況下在Bluemix中部署
我們如何在沒有停機的情況下進行部署?
它通常被稱爲藍綠色的部署或紅黑部署。基本思想是將新版本的應用程序與舊版本並行部署,測試一切正常,然後將流量切換到新版本。舊的應用程序保存爲備份(並且最終可能會停止,因此它不會佔用內存或刪除)。
這是一個non-Bluemix-specific description的想法,也是Bluemix documentation它。
使用CF CLI它會是這個樣子:
$ cf push Blue
$ cf push Green
$ cf map-route Green mybluemix.net -n Blue
$ cf unmap-route Blue mybluemix.net -n Blue
$ cf unmap-route Green mybluemix.net -n Green
您可以使用滾動更新來避免停機。有時他們也可以被視爲「藍色/綠色部署」。基本上,你保持舊版本運行,直到新版本啓動。然後,您可以直接切換或在一段時間後切換,以查看新版本是否真的穩定。該技術可以與負載平衡相結合,以確定需要路由的流量。
我建議閱讀下列操作之一:
有一個Cloud Foundry的插件藍綠色的部署。除了基本行爲(零停機時間)外,它還支持諸如煙霧測試等。它生活在https://github.com/bluemixgaragelondon/cf-blue-green-deploy。
要使用它,從CF社區儲備庫中獲得的插件:
cf install-plugin blue-green-deploy -r CF-Community
然後部署應用程序(煙霧測試參數是可選的)
cd your_app_root
cf blue-green-deploy app_name --smoke-test <path to test script>
太棒了!感謝您添加'cf'命令 – John