在一般情況下,升級服務(wù)器端應(yīng)用,需要將應(yīng)用源碼或程序包上傳到服務(wù)器,然后停止掉老版本服務(wù),再啟動新版本。但是這種簡單的發(fā)布方式存在兩個問題,一方面,在新版本升級過程中,服務(wù)是暫時中斷的,另一方面,如果新版本有BUG,升級失敗,回滾起來也非常麻煩,容易造成更長時間的服務(wù)不可用。

為了解決這些問題,人們研究出了多種發(fā)布策略,下面我們一一介紹。

所謂藍綠部署,是指同時運行兩個版本的應(yīng)用,如上圖所示,藍綠部署的時候,并不停止掉老版本,而是直接部署一套新版本,等新版本運行起來后,再將流量切換到新版本上。但是藍綠部署要求在升級過程中,同時運行兩套程序,對硬件的要求就是日常所需的二倍,比如日常運行時,需要10臺服務(wù)器支撐業(yè)務(wù),那么使用藍綠部署,你就需要購置二十臺服務(wù)器。
滾動發(fā)布能夠解決掉藍綠部署時對硬件要求增倍的問題。
所謂滾動升級,就是在升級過程中,并不一下子啟動所有新版本,是先啟動一臺新版本,再停止一臺老版本,然后再啟動一臺新版本,再停止一臺老版本,直到升級完成,這樣的話,如果日常需要10臺服務(wù)器,那么升級過程中也就只需要11臺就行了。
但是滾動升級有一個問題,在開始滾動升級后,流量會直接流向已經(jīng)啟動起來的新版本,但是這個時候,新版本是不一定可用的,比如需要進一步的測試才能確認(rèn)。那么在滾動升級期間,整個系統(tǒng)就處于非常不穩(wěn)定的狀態(tài),如果發(fā)現(xiàn)了問題,也比較難以確定是新版本還是老版本造成的問題。
為了解決這個問題,我們需要為滾動升級實現(xiàn)流量控制能力。
灰度發(fā)布也叫金絲雀發(fā)布,起源是,礦井工人發(fā)現(xiàn),金絲雀對瓦斯氣體很敏感,礦工會在下井之前,先放一只金絲雀到井中,如果金絲雀不叫了,就代表瓦斯?jié)舛雀摺?br/>
在灰度發(fā)布開始后,先啟動一個新版本應(yīng)用,但是并不直接將流量切過來,而是測試人員對新版本進行線上測試,啟動的這個新版本應(yīng)用,就是我們的金絲雀。如果沒有問題,那么可以將少量的用戶流量導(dǎo)入到新版本上,然后再對新版本做運行狀態(tài)觀察,收集各種運行時數(shù)據(jù),如果此時對新舊版本做各種數(shù)據(jù)對比,就是所謂的A/B測試。
當(dāng)確認(rèn)新版本運行良好后,再逐步將更多的流量導(dǎo)入到新版本上,在此期間,還可以不斷地調(diào)整新舊兩個版本的運行的服務(wù)器副本數(shù)量,以使得新版本能夠承受越來越大的流量壓力。直到將100%的流量都切換到新版本上,最后關(guān)閉剩下的老版本服務(wù),完成灰度發(fā)布。
如果在灰度發(fā)布過程中(灰度期)發(fā)現(xiàn)了新版本有問題,就應(yīng)該立即將流量切回老版本上,這樣,就會將負(fù)面影響控制在最小范圍內(nèi)。
脈沖云的部署管理可以輕松實現(xiàn)上述的帶有流量管理功能的灰度發(fā)布。正常編輯應(yīng)用信息后點擊保存,然后脈沖云會提示直接升級或灰度發(fā)布。

直接升級就是使用一般的滾動升級,點擊灰度發(fā)布后可以人工干預(yù)升級過程,進行流量控制。
選擇灰度發(fā)布后,就會呈現(xiàn)灰度發(fā)布控制面板。

在這個控制面板上,可以拖拉滑塊,快速調(diào)整新舊版本的運行副本數(shù)量,同時也可以按百分比,將流量導(dǎo)入到新版本上。此外,還可以通過匹配HTTP Header,指定個別用戶的流量到新版本上。
除了匹配用戶流量的HTTP請求頭,還可以直接指定匹配請求頭中的Cookie信息,匹配規(guī)則支持精確匹配、包含、正則、前綴、后綴等,甚至還允許反向匹配。
當(dāng)確認(rèn)新版本運行無誤后,就可以點擊 完成升級 按鈕,就會將流量全部切換到新版本上,并且銷毀掉所有老版本應(yīng)用。如果新版本出了問題,可以點擊 取消升級 按鈕,立即將流量切回老版本,并銷毀掉新版本應(yīng)用。
在新版本應(yīng)用發(fā)布時,為了服務(wù)器不停機升級,使用灰度發(fā)布策略,在灰度發(fā)布開始時,使用HTTP Header 匹配指定測試人員的流量到新版本上,然后當(dāng)新版本內(nèi)部測試通過后,可以再按百分比,將用戶流量一點一點導(dǎo)入到新版本中,比如先導(dǎo)入10%觀察一下運行情況,然后再導(dǎo)入20%,如此累加,直到將流量全部導(dǎo)入到新版本上,最后完成升級,如果期間發(fā)現(xiàn)問題,就立即取消升級,將流量切回到老版本。
運用灰度發(fā)布,就再也不需要加班到深夜進行停機升級了,在白天就可以放心大膽地、安全地發(fā)布新版本。
參考DevOps平臺:脈沖云開發(fā)平臺
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)頁名稱:什么是灰度發(fā)布,以及灰度發(fā)布A/B測試-創(chuàng)新互聯(lián)
標(biāo)題URL:http://www.chinadenli.net/article6/dpogog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、營銷型網(wǎng)站建設(shè)、品牌網(wǎng)站制作、定制網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容