日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

一文搞懂蓝绿发布、灰度发布和滚动发布

發(fā)布時(shí)間:2023/11/22 综合教程 67 生活家
生活随笔 收集整理的這篇文章主要介紹了 一文搞懂蓝绿发布、灰度发布和滚动发布 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

應(yīng)用程序升級(jí)面臨最大挑戰(zhàn)是新舊業(yè)務(wù)切換,將軟件從測試的最后階段帶到生產(chǎn)環(huán)境,同時(shí)要保證系統(tǒng)不間斷提供服務(wù)。

長期以來,業(yè)務(wù)升級(jí)漸漸形成了幾個(gè)發(fā)布策略:藍(lán)綠發(fā)布、灰度發(fā)布和滾動(dòng)發(fā)布,目的是盡可能避免因發(fā)布導(dǎo)致的流量丟失或服務(wù)不可用問題。

一、 藍(lán)綠發(fā)布
項(xiàng)目邏輯上分為AB組,在項(xiàng)目系統(tǒng)時(shí),首先把A組從負(fù)載均衡中摘除,進(jìn)行新版本的部署。B組仍然繼續(xù)提供服務(wù)。

當(dāng)A組升級(jí)完畢,負(fù)載均衡重新接入A組,再把B組從負(fù)載列表中摘除,進(jìn)行新版本的部署。A組重新提供服務(wù)。

最后,B組也升級(jí)完成,負(fù)載均衡重新接入B組,此時(shí),AB組版本都已經(jīng)升級(jí)完成,并且都對(duì)外提供服務(wù)。

特點(diǎn)

  • 如果出問題,影響范圍較大;
  • 發(fā)布策略簡單;
  • 用戶無感知,平滑過渡;
  • 升級(jí)/回滾速度快。

缺點(diǎn)

  • 需要準(zhǔn)備正常業(yè)務(wù)使用資源的兩倍以上服務(wù)器,防止升級(jí)期間單組無法承載業(yè)務(wù)突發(fā);
  • 短時(shí)間內(nèi)浪費(fèi)一定資源成本;
  • 基礎(chǔ)設(shè)施無改動(dòng),增大升級(jí)穩(wěn)定性。

藍(lán)綠發(fā)布在早期物理服務(wù)器時(shí)代,還是比較昂貴的,由于云計(jì)算普及,成本也大大降低。

二、 灰度發(fā)布(金絲雀發(fā)布)

灰度發(fā)布只升級(jí)部分服務(wù),即讓一部分用戶繼續(xù)用老版本,一部分用戶開始用新版本,如果用戶對(duì)新版本沒什么意見,那么逐步擴(kuò)大范圍,把所有用戶都遷移到新版本上面來。

?

特點(diǎn)

  • 保證整體系統(tǒng)穩(wěn)定性,在初始灰度的時(shí)候就可以發(fā)現(xiàn)、調(diào)整問題,影響范圍可控;
  • 新功能逐步評(píng)估性能,穩(wěn)定性和健康狀況,如果出問題影響范圍很小,相對(duì)用戶體驗(yàn)也少;
  • 用戶無感知,平滑過渡。

缺點(diǎn)

  • 自動(dòng)化要求高

部署過程

  • 從LB摘掉灰度服務(wù)器,升級(jí)成功后再加入LB;
  • 少量用戶流量到新版本;
  • 如果灰度服務(wù)器測試成功,升級(jí)剩余服務(wù)器。

灰度發(fā)布是通過切換線上并存版本之間的路由權(quán)重,逐步從一個(gè)版本切換為另一個(gè)版本的過程。

三、 滾動(dòng)發(fā)布

滾動(dòng)發(fā)布是指每次只升級(jí)一個(gè)或多個(gè)服務(wù),升級(jí)完成后加入生產(chǎn)環(huán)境,不斷執(zhí)行這個(gè)過程,直到集群中的全部舊版本升級(jí)新版本。

  • 紅色:正在更新的實(shí)例
  • 藍(lán)色:更新完成并加入集群的實(shí)例
  • 綠色:正在運(yùn)行的實(shí)例

特點(diǎn)

  • 用戶無感知,平滑過渡;
  • 節(jié)約資源。

缺點(diǎn)

  • 部署時(shí)間慢,取決于每階段更新時(shí)間;
  • 發(fā)布策略較復(fù)雜;
  • 無法確定OK的環(huán)境,不易回滾。

部署過程

  • 先升級(jí)1個(gè)副本,主要做部署驗(yàn)證;
  • 每次升級(jí)副本,自動(dòng)從LB上摘掉,升級(jí)成功后自動(dòng)加入集群;
  • 事先需要有自動(dòng)更新策略,分為若干次,每次數(shù)量/百分比可配置;
  • 回滾是發(fā)布的逆過程,先從LB摘掉新版本,再升級(jí)老版本,這個(gè)過程一般時(shí)間比較長;
  • 自動(dòng)化要求高。

小結(jié)

綜上所述,三種方式均可以做到平滑式升級(jí),在升級(jí)過程中服務(wù)仍然保持服務(wù)的連續(xù)性,升級(jí)對(duì)外界是無感知的。那生產(chǎn)上選擇哪種部署方法最合適呢?這取決于哪種方法最適合你的業(yè)務(wù)和技術(shù)需求。如果你們運(yùn)維自動(dòng)化能力儲(chǔ)備不夠,肯定是越簡單越好,建議藍(lán)綠發(fā)布,如果業(yè)務(wù)對(duì)用戶依賴很強(qiáng),建議灰度發(fā)布。如果是K8S平臺(tái),滾動(dòng)更新是現(xiàn)成的方案,建議先直接使用。

  • 藍(lán)綠發(fā)布:兩套環(huán)境交替升級(jí),舊版本保留一定時(shí)間便于回滾。
  • 灰度發(fā)布:根據(jù)比例將老版本升級(jí),例如80%用戶訪問是老版本,20%用戶訪問是新版本。
  • 滾動(dòng)發(fā)布:按批次停止老版本實(shí)例,啟動(dòng)新版本實(shí)例。

總結(jié)

以上是生活随笔為你收集整理的一文搞懂蓝绿发布、灰度发布和滚动发布的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。