成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何利用Nginx為系統構筑發布前的最后一道防線

運維 系統運維
在項目發展的早期,為了簡單方便,我們升級服務器端應用,一般會先將應用源碼或程序包上傳到服務器,然后再停掉老版本服務,啟動新版本服務。由于此時,項目用戶少訪問量小,這樣做通常不會有什么太大問題。

[[312387]]

背景

在項目發展的早期,為了簡單方便,我們升級服務器端應用,一般會先將應用源碼或程序包上傳到服務器,然后再停掉老版本服務,啟動新版本服務。由于此時,項目用戶少訪問量小,這樣做通常不會有什么太大問題。但后面隨著項目越來越大,用戶越來越多,再這樣做你會發現存在兩個明顯的問題。

1、在新版本升級過程中,服務是暫時中斷的,在這期間,服務將不可使用。

2、如果新版本有BUG,升級失敗,回滾起來將非常麻煩,容易造成更長時間的服務不可用。

為了解決上面這些問題,人們研究出了很多發布策略,如藍綠發布、滾動發布等,下面要講的灰度發布也是其中之一。

什么是灰度發布

灰度發布也叫金絲雀發布,其原理如下圖所示:

 

「系統架構」如何利用nginx為系統構筑發布前的<span><span><span><i style=最后一道防線" src="http://p1.pstatp.com/large/pgc-image/6315b9822fb3472199a9e4dec8c42146" width="640" height="312">

 

用文字描述即在灰度發布開始后,我們會先啟動一個新版本應用V2,但是此時并不直接將流量切過來,而是先讓測試人員對新版本進行線上測試。如果測試沒有問題,那么就將少量的(如圖中的5%)用戶流量導入到新版本上,然后再對新版本做運行狀態觀察,收集各種運行時數據。當確認新版本運行良好后,再逐步將更多的流量導入到新版本上。

在此期間,我們可以不斷地調整新舊兩個版本的運行的服務器副本數量,以使得新版本能夠承受越來越大的流量壓力。當最后我們將100%的流量都切換到新版本上后,就可以關閉剩下的老版本服務,完成灰度發布。

另外,如果在灰度發布過程中發現新版本有問題,我們可以立即將流量切回老版本上,這樣,可以將負面影響控制在最小范圍內。

如何實現灰度發布

實現灰度發布有多種方式,但總結起來有三類

  1. 基于IP
  2. 基于COOKIE
  3. 基于權重

如下是利用nginx對這三類的實現。

1、基于IP

我們利用LUA,先獲取客戶端IP,然后通過判斷客戶端IP的類型,來判斷應該選擇訪問什么服務器。如果是客戶端IP為公司出口IP,則反向代理到@client;如果不是,則反向代理到@client_test。如下:

 

「系統架構」如何利用nginx為系統構筑發布前的<span><span><span><i style=最后一道防線" src="http://p3.pstatp.com/large/pgc-image/278f6501b71e4636a5230f9efaaf5a11" width="640" height="1143">

 

2、基于Cookie

我們先定義三個upstream,tts_v6、tts_v7和default,然后查詢Cookie鍵為version的值,如果該Cookie值為tts1,則轉發到tts_v6;如果該Cookie值為tts2,則轉發到tts_v7;如果該Cookie值既不是tts1,也不是tts2,則默認走default所對應的服務器。如下:

 

「系統架構」如何利用nginx為系統構筑發布前的<span><span><span><i style=最后一道防線" src="http://p1.pstatp.com/large/pgc-image/6316eadd9c9f419ab479bc583541c173" width="640" height="716">

 

其中,192.168.3.81:5380所指向的服務器為運行新功能的服務器。

3、基于權重

我們定義一個upstream,設置三個服務器IP,其權重分別為5,3,1。我們先把新功能部署在權重為1的服務器上,然后使用ip_hash進行負載均衡。待權重為1的服務器運行沒有問題后,就將新功能部署到權重為3的服務器。如此重復操作,最后將新功能部署到所有服務器上。如下:

 

「系統架構」如何利用nginx為系統構筑發布前的<span><span><span><i style=最后一道防線" src="http://p1.pstatp.com/large/pgc-image/76629d95ba634cd984127e3d8066d4af" width="640" height="667">

 

總結

灰度發布雖然操作復雜,但在一定程度上保證了系統的安全與穩定。隨著項目的不斷發展,系統穩定越來越比完善功能更加重要。從長遠來看,使用灰度發布利大于弊。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2011-08-18 09:33:23

2024-03-18 13:32:11

2022-04-08 14:50:37

存儲零信任安全

2017-08-27 12:40:43

信息安全容災備份網絡安全

2017-11-15 09:22:58

容災備份信息安全

2021-12-21 15:16:55

數據備份

2022-09-26 10:54:43

Veeam

2020-08-07 11:23:31

網絡安全人工智能數據

2021-03-12 15:10:00

UI驗收交互驗收

2022-06-10 09:39:48

云原生節點水位線

2018-03-14 07:42:48

2024-04-18 08:00:00

2011-08-10 17:08:09

2019-11-12 12:34:15

人工智能機器學習技術

2010-09-14 09:41:12

2015-03-27 18:46:05

2021-06-28 16:18:56

戴爾

2024-10-30 12:07:44

2011-03-30 20:43:28

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产色婷婷精品综合在线播放 | 欧美日韩亚洲系列 | 午夜成人免费视频 | 亚洲成人av | 色吊丝2288sds中文字幕 | 欧美中文字幕在线观看 | 免费成人高清在线视频 | 国产真实精品久久二三区 | 91精品久久久久久久久 | 久久69精品久久久久久久电影好 | 久久久123| 国产激情91久久精品导航 | 青青草这里只有精品 | 久久久视频在线 | 久久精品国产精品青草 | 密室大逃脱第六季大神版在线观看 | 亚洲精品日韩一区二区电影 | 国产精品1 | 一级黄色片免费在线观看 | 欧美一级久久精品 | 国产一区91精品张津瑜 | 97超碰人人 | 日韩欧美精品在线 | 欧美在线色 | av喷水 | 国产一二区视频 | 影音先锋中文字幕在线观看 | 国产99热在线 | 精品久久中文字幕 | 色片在线观看 | 欧美性成人 | 亚洲美女在线视频 | 亚洲一卡二卡 | 亚洲欧美在线观看 | 久久国产传媒 | 国产精品大片 | 久久精品二区 | 成人在线精品视频 | 久久久精品一区二区三区 | 日韩最新网址 | 一区二区三区中文字幕 |