常用于生产部署方式详解 灰度发布 滚动发布 蓝绿发布
傳統型
??????????????? 這種方式基本上很多中小型企業都在用,尤其是政府或是對企業內部的系統。通常都是直接停服務,將正在運行的程序包備份到指定目錄,將新的程序包上傳到服務器,停服務,替換老的包,啟動服務。
????? 優點:
??????????????? 1、操作人員容易理解,服務少時操作簡單。
????????????????? 2、節省資源。
????? 缺點:
?????????????? 1、服務多的時候操作繁瑣,效率極低。
???????????????? 2、需要停很長時間服務,所以通常都是晚上或是用戶不使用階段進行。如果是要求停服務時間短的產品或是公司不建議使用這種方式。
?
藍綠發布
??????? 什么是藍綠發布?
??????? 理解:就是在運行環境下再每個服務對應的準備一套服務器,例如:現在生產時A套服務服務器,再根據A套服務器準備相同數據的服務器(B),在發布的時候在B服務上部署本次要上生產的服務。然后啟動B套服務器上的服務,切網關代理到B上,停A上的上官服務。通常生產上部署在的A稱為藍色,部署在B上的稱為綠色。
??????? 優點:
?????????????????? 1、在綠色環境下進行測試驗證,驗證通過后可以直接切換為生產。
?????????????????? 2、停服務時間幾乎可以忽略,用戶無感知,平滑過渡。
?????????????????? 3、回退速度非常快。
??????? 缺點:
?????????????????? 1、服務器是需要的二倍,成本較高。
?????????????????? 2、服務配置等操作更復雜。
????????????????
?
滾動發布
??????? 什么是滾動發布?
??????? 主要是解決藍綠發布設備硬件倍增的問題。新服務和老服務是混在一起的。就是在升級部署過程中,并不是啟動所有新版本服務,而是先啟動一臺新版本,再停止一臺老版本,然后再啟動一臺新版本,再停止一臺老版本,直到升級完成,這樣的話,如果日常需要10臺服務器,那么升級過程中也就只需要11臺就行了。
?
??????? 優勢:
??????????????? 1、用戶無感知,平滑過渡
??????????????? 2、服務器成本新增較低。
??????? 劣勢:
??????????????? 1、回滾困難,尤其是微服務,互相調用關系復雜情況下那將是災難的。將新版本流量從 LB 上摘除,清除新版本,發老版本,再將 LB 流量接入老版本。和發布過程一樣。
??????????????? 2、部署時間慢,取決于每階段更新時間;
??????????????? 3、發布策略較復雜;
灰度發布(金絲雀發布)
??????? 什么是灰度發布?
????????灰度發布只升級部分服務,類似于藍綠部署,但又不完全相同。灰度發布采用對用戶有篩選的分流機制,將新版本應用只針對少量用戶開放,在保障整體系統穩定的情況下,盡早發現、調整問題,這種方式也叫金絲雀發布。只準備幾臺服務器,在上面部署新版本的系統并測試驗證。測試通過之后,擔心出現意外,還不敢立即更新所有的服務器。 先將線上的一萬臺服務器中的10臺更新為最新的系統,然后觀察驗證。確認沒有異常之后,再將剩余的所有服務器更新。
灰度發布操作過程:
1、區分用戶規則,就是讓那些用戶走那些服務。可以一用權重、權限、用戶id等來區分控制。
2、預制規則代碼,在網關中寫好。
3、看選用的什么區分控制方式,來確定是否需要修改元數據。
如果選用權重的方式那么只需要在網關中將規則代碼寫好即可。
?
優點:
??????? 1、用戶無感知,平滑過渡。
????????2、初始灰度的時候就可以發現、調整問題,影響范圍可控。
??????? 3、相對節省服務器成本。
缺點:
??????? 1、時間成本高,整個灰度從前期的灰度策略直到最后完全上線要耗費很大的時間
同時維護新舊兩套代碼、兩套配置,以及版本之間的耦合問題
??????? 2、自動化要求高
可以支持A/B測試:就是一部份用戶A使用,一部分用戶B來測試。
參考:1、常見應用發布方式淺析_zhinengyunwei的博客-CSDN博客_應用發布
?????????? 2、一文搞懂藍綠發布、灰度發布和滾動發布 - 努力哥 - 博客園
??????? ?
總結
以上是生活随笔為你收集整理的常用于生产部署方式详解 灰度发布 滚动发布 蓝绿发布的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle查询所有表结构和表名称及备注
- 下一篇: Linux常用端口查询命令及常见端口和端