国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

什么是灰度發(fā)布?灰度發(fā)布幾種類型

這篇具有很好參考價(jià)值的文章主要介紹了什么是灰度發(fā)布?灰度發(fā)布幾種類型。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、方案背景介紹

1. 什么是灰度發(fā)布

灰度發(fā)布是指在 黑和白(0和1)之間,能夠平滑過渡的一種發(fā)布方式。

AB test就是一種灰度發(fā)布方式,指為產(chǎn)品已發(fā)布A版本,在發(fā)布B版本時(shí),在同一時(shí)間維度,
讓一部分用戶繼續(xù)用A版本,一部分用戶開始用B版本,如果用戶對(duì)B版本沒有什么反對(duì)意見,那么逐步擴(kuò)大范圍,把所有用戶都遷移到B版本上面來(lái)?;叶劝l(fā)布可以保證整體系統(tǒng)的穩(wěn)定,在初始灰度發(fā)布時(shí)就可以發(fā)現(xiàn)及調(diào)整問題,以保證其影響度。

1.2 灰度發(fā)布好處

  • 降低發(fā)布影響面: 就算出問題,也只會(huì)影響部分用戶,從而可以提前發(fā)現(xiàn)新版本中的 bug,然后在下一次發(fā)布前提前修復(fù),避免影響更多用戶;
  • 提升用戶體驗(yàn): 除了能發(fā)現(xiàn) bug,還能很好的收集新版本的用戶使用反饋,從而提前調(diào)整系統(tǒng),提升用戶體驗(yàn),也能給后續(xù)的產(chǎn)品演進(jìn)帶來(lái)參考價(jià)值。
  • 可以做到不停機(jī)的熱遷移,版本回滾便捷(速度快)

1.3 背景

針對(duì)我們當(dāng)前現(xiàn)狀,使用灰度發(fā)布的背景:
在目前app完成測(cè)試,準(zhǔn)備上線發(fā)布時(shí)候,就需要運(yùn)維支持了,其中的挑戰(zhàn)點(diǎn)在于如何不影響當(dāng)前在線業(yè)務(wù)的情況下來(lái)進(jìn)行升級(jí)。
系統(tǒng)升級(jí)就會(huì)有風(fēng)險(xiǎn),系統(tǒng)宕機(jī)風(fēng)險(xiǎn),用戶使用習(xí)慣改變而造成用戶流失的風(fēng)險(xiǎn),服務(wù)錯(cuò)誤不可用等等風(fēng)險(xiǎn)。
利用灰度發(fā)布, 降低發(fā)布帶來(lái)的影響,雖然功能都在test環(huán)境測(cè)過,但畢竟沒發(fā)布到prod環(huán)境,如果先讓少部分用戶先使用新版本,提前發(fā)現(xiàn)bug,或者性能問題,提前做好修復(fù),就可以降低新版本帶來(lái)的影響。
其主要思想就是把影響集中到一個(gè)點(diǎn),然后再發(fā)散到一個(gè)面,出現(xiàn)意外情況后很容易就回退,即使影響也是可控的。

二、灰度發(fā)布幾種類型

灰度發(fā)布的主要分類:

  • 金絲雀發(fā)布
  • 滾動(dòng)發(fā)布
  • 藍(lán)綠發(fā)布

1)金絲雀發(fā)布
金絲雀發(fā)布成本較低,只需要一個(gè)實(shí)例即可降低新版本存在的風(fēng)險(xiǎn),適合缺乏足夠的發(fā)布工具研發(fā)能力及成長(zhǎng)型的小公司。但是,金絲雀發(fā)布也有缺點(diǎn),當(dāng)升級(jí)全部剩余實(shí)例時(shí),如果流量過多,可能會(huì)導(dǎo)致服務(wù)中斷。
灰度發(fā)布,java,java,服務(wù)器,運(yùn)維

2)滾動(dòng)發(fā)布
滾動(dòng)發(fā)布則是在金絲雀發(fā)布的基礎(chǔ)上進(jìn)行的改進(jìn)和優(yōu)化,第一次也是使用金絲雀發(fā)布,后續(xù)則使用多批次的形式發(fā)布剩余實(shí)例,每次批次之間會(huì)進(jìn)行觀察,如果有問題,再進(jìn)行回滾。
灰度發(fā)布,java,java,服務(wù)器,運(yùn)維

3)藍(lán)綠發(fā)布

藍(lán)綠發(fā)布比較簡(jiǎn)單,只是對(duì)全量發(fā)布的一種優(yōu)化而已,發(fā)布前不用全部停機(jī),而是另外部署新版本全部實(shí)例,然后再把流量全部再切換到新版本。
灰度發(fā)布,java,java,服務(wù)器,運(yùn)維

三、選型

灰度發(fā)布,java,java,服務(wù)器,運(yùn)維

全量發(fā)布:不建議使用

藍(lán)綠發(fā)布:適合于對(duì)于資源預(yù)算比較充足的業(yè)務(wù),或者是比較簡(jiǎn)單的單體應(yīng)用,可以快速實(shí)現(xiàn)系統(tǒng)的整體變更

金絲雀和全鏈路灰度:適合需要針對(duì)特定用戶或者人群進(jìn)行現(xiàn)網(wǎng)請(qǐng)求驗(yàn)證的業(yè)務(wù),可以顯著減低風(fēng)險(xiǎn)

綜上,建議選擇 金絲雀或者全鏈路灰度 進(jìn)行服務(wù)的升級(jí)發(fā)布。

四、灰度發(fā)布流程及實(shí)現(xiàn)思路

用戶請(qǐng)求————> 網(wǎng)關(guān)----->服務(wù)a----->服務(wù)b
1、用戶會(huì)發(fā)送請(qǐng)求
2、經(jīng)過網(wǎng)關(guān)分發(fā)請(qǐng)求到具體的服務(wù)A
3、服務(wù)A 調(diào)用服務(wù)B
[圖片]
灰度發(fā)布的核心就是路由轉(zhuǎn)發(fā),如果我們能夠自定義網(wǎng)關(guān)到 服務(wù)A 及 服務(wù)A到服務(wù)B中間的路由策略,就可以實(shí)現(xiàn)用戶引流,灰度發(fā)布。

五、幾種實(shí)現(xiàn)方案

1)SpringCloud+Redis 實(shí)現(xiàn)灰度發(fā)布

通過網(wǎng)關(guān)尋找下層服務(wù)之前,通過攔截器處理請(qǐng)求頭的參數(shù)信息,通過判斷Redis數(shù)據(jù)當(dāng)前請(qǐng)求是否符合灰度的要求,如果符合,走灰度服務(wù);否則走正常服務(wù)。

灰度發(fā)布,java,java,服務(wù)器,運(yùn)維

2)Nginx +Lua + Redis 實(shí)現(xiàn)灰度發(fā)布

原理:使用nginx做負(fù)載均衡和反向代理,nginx內(nèi)嵌lua模塊,解析并執(zhí)行l(wèi)ua編寫的腳本邏輯,可以通過lua解析cookie以及訪問redis,而一些灰度發(fā)布分流的策略就是放在redis里通過cookie關(guān)聯(lián)

執(zhí)行過程:

  • 當(dāng)用戶請(qǐng)求到達(dá)前段代理服務(wù)nginx,內(nèi)嵌的lua模塊解析nginx配置文件中的lua腳本代碼
  • lua變量獲取到客戶端的ip地址,去查詢r(jià)edis緩存內(nèi)是否有該建值,如果有返回值執(zhí)行@client_test,否則執(zhí)行@client
  • location @client_test把請(qǐng)求轉(zhuǎn)發(fā)給灰度發(fā)布服務(wù),location@client把請(qǐng)求轉(zhuǎn)發(fā)給正常服務(wù),服務(wù)器返回結(jié)果。
    灰度發(fā)布,java,java,服務(wù)器,運(yùn)維

3)Openresty+Lua+Redis灰度發(fā)布

OpenResty 是一個(gè)基于 Nginx 與 Lua 的高性能 Web 平臺(tái),其內(nèi)部集成了大量精良的 Lua 庫(kù)、第三方模塊以及大多數(shù)的依賴項(xiàng),用于方便地搭建能夠處理高并發(fā)、高擴(kuò)展性的動(dòng)態(tài) Web 應(yīng)用、Web 服務(wù)和動(dòng)態(tài)網(wǎng)關(guān)。
Http協(xié)議的灰度功能主要基于ngx_http_lua_module模塊實(shí)現(xiàn),Tcp協(xié)議的灰度功能主要基于ngx_stream_lua_module模塊實(shí)現(xiàn)。

本系統(tǒng)實(shí)現(xiàn)了對(duì)Http協(xié)議和Tcp協(xié)議的灰度功能,并且提供后臺(tái)管理系統(tǒng)對(duì)灰度白名單進(jìn)行管理。
三種方式灰度實(shí)現(xiàn):
Http協(xié)議灰度實(shí)現(xiàn)如下功能:

  • 通過IP或者IP段驗(yàn)證客戶端IP是否灰度白名單;
  • 通過獲取header頭中的userid,驗(yàn)證是否灰度白名單;
  • 通過獲取header頭中的device-id,驗(yàn)證是否灰度白名單。
    TCP協(xié)議灰度實(shí)現(xiàn)如下功能:
  • 通過IP或者IP段驗(yàn)證客戶端IP是否灰度白名單;
    后臺(tái)管理系統(tǒng)實(shí)現(xiàn)如下功能:
  • 支持對(duì)設(shè)備deviceId灰度白名單新增、刪除和查詢功能;
  • 支持對(duì)客戶端IP灰度白名單新增、刪除和查詢功能;
  • 支持對(duì)用戶userId灰度白名單新增、刪除和查詢功能,同時(shí)可以根據(jù)配置灰度策略,將滿足條件的用戶自動(dòng)導(dǎo)入灰度白名單中。
    灰度發(fā)布,java,java,服務(wù)器,運(yùn)維

說明:
1、當(dāng)用戶請(qǐng)求到達(dá)前端web(代理)服務(wù)器Openresty,內(nèi)嵌的lua模塊解析Nginx配置文件中的lua腳本代碼;
2、Lua獲取客戶端IP地址、userId和設(shè)備ID,去查詢Redis中是否有該鍵值,如果有則轉(zhuǎn)發(fā)到灰度環(huán)境,否則轉(zhuǎn)發(fā)到生產(chǎn)環(huán)境中;
3、后端管理系統(tǒng)提供可視化界面,可以管理redis中的白名單信息,包括:客戶端IP白名單、userId白名單、設(shè)備Id白名單。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-780916.html

到了這里,關(guān)于什么是灰度發(fā)布?灰度發(fā)布幾種類型的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 限制登錄Linux服務(wù)器的幾種方式

    限制登錄Linux服務(wù)器的幾種方式

    在日常運(yùn)維中,我們通常使用防火墻iptables跟firewalld的方式來(lái)實(shí)現(xiàn)訪問控制,但在實(shí)際環(huán)境中,開啟防火墻可能會(huì)對(duì)業(yè)務(wù)造成影響,所以以下整理了三種限制登錄Linux服務(wù)器的幾種方式。分別是修改TCP Wrappers服務(wù)訪問控制、修改sshd_config配置文件、防火墻策略iptables跟firewalld。

    2024年02月17日
    瀏覽(24)
  • 有哪幾種行為會(huì)導(dǎo)致服務(wù)器被入侵

    導(dǎo)致服務(wù)器被入侵的行為有很多種,以下是一些常見的行為: 系統(tǒng)漏洞:服務(wù)器操作系統(tǒng)或軟件存在漏洞,攻擊者可以通過利用這些漏洞獲取系統(tǒng)權(quán)限,從而入侵服務(wù)器。 弱口令:服務(wù)器的賬號(hào)密碼過于簡(jiǎn)單或者未及時(shí)更新,攻擊者可以通過暴力破解等手段獲取系統(tǒng)權(quán)限,

    2024年02月22日
    瀏覽(19)
  • 常用的幾種服務(wù)器端口轉(zhuǎn)發(fā)實(shí)現(xiàn)方式

    Windows和Linux服務(wù)器上實(shí)現(xiàn)端口轉(zhuǎn)發(fā)的幾種常用方式: 硬件路由器轉(zhuǎn)發(fā):這個(gè)是2種系統(tǒng)都可以使用的方式??梢酝ㄟ^在硬件路由器上設(shè)置端口轉(zhuǎn)發(fā)規(guī)則,將外部請(qǐng)求轉(zhuǎn)發(fā)到內(nèi)部服務(wù)器的指定端口上。 以下為L(zhǎng)inux系統(tǒng)實(shí)現(xiàn)端口轉(zhuǎn)發(fā)的幾種方式: iptables命令實(shí)現(xiàn)端口轉(zhuǎn)發(fā):iptable

    2024年02月09日
    瀏覽(21)
  • 網(wǎng)絡(luò)socket服務(wù)器開發(fā)幾種并發(fā)模型詳解

    網(wǎng)絡(luò)socket服務(wù)器開發(fā)幾種并發(fā)模型詳解

    目錄 一、socket創(chuàng)建流程。 二、I/O多路復(fù)用 三、服務(wù)器開發(fā)常見的并發(fā)模型 1、模型一:?jiǎn)尉€程——無(wú)IO復(fù)用 1.1 模型分析 2、模型二:?jiǎn)尉€程accept + 多線程讀寫業(yè)務(wù)(無(wú)IO復(fù)用) 模型分析 3、模型三:?jiǎn)尉€程多路IO復(fù)用 模型分析 ?4、模型四:?jiǎn)尉€程多路IO復(fù)用 + 多線程業(yè)務(wù)工作

    2024年02月11日
    瀏覽(26)
  • MacBook 往服務(wù)器上傳、下載文件的幾種操作

    MacBook 往服務(wù)器上傳、下載文件的幾種操作

    往服務(wù)器傳文件、下載文件有很多種方法,可以使用scp、rsync或者rs/sz MacBook上的rz和sz 配置起來(lái)比較麻煩 這里就不說了 另外 研發(fā)和測(cè)試同學(xué)可能對(duì)于scp命令和rsync命令并不了解 這里也不說了 這里直說兩種圖形化界面的工具 通過jumpserver登錄服務(wù)器后 可以簡(jiǎn)單快速實(shí)現(xiàn)上傳和

    2024年02月16日
    瀏覽(26)
  • 兩臺(tái)linux服務(wù)器之間傳輸文件的幾種方法

    兩臺(tái)linux服務(wù)器之間傳輸文件的幾種方法

    打開powershell, 開始連接服務(wù)器 然后輸入密碼后就進(jìn)來(lái)了,進(jìn)入之后找到你要傳輸文件的位置 接下來(lái)我要將這個(gè)包傳到另一個(gè)環(huán)境中去,有以下幾種方法 scp 示例: 將本地服務(wù)器的文件傳向另一個(gè)服務(wù)器 wget 【用法】 wget是一個(gè)從網(wǎng)絡(luò)上自動(dòng)下載文件的自由工具,支持通過HT

    2024年02月12日
    瀏覽(18)
  • nodejs發(fā)布靜態(tài)https服務(wù)器

    2、執(zhí)行npm install? 新建public目錄,并且隨便在 public 目錄下放個(gè)什么 html 文件,比如 test.html 。 用 npm start 啟動(dòng)服務(wù),可以在 Chrome 瀏覽器內(nèi)輸入地址? https://127.0.0.1:8000/test.html 測(cè)試一下。 如果能看到,說明服務(wù)正常。

    2024年02月10日
    瀏覽(15)
  • 發(fā)布文件到ubuntu服務(wù)器上

    發(fā)布文件到ubuntu服務(wù)器上

    在Xshell連接ubuntu服務(wù)器,執(zhí)行以下代碼 ssh ubuntu@服務(wù)器ip 1. apt-get update 從服務(wù)器拉取可用的包到本地 2. sudo apt-get install apache2 安裝apache2 3. ls /var/www 查看該目錄下是否有html文件 4. 打開File Zilla Client,打開站點(diǎn)管理,協(xié)議那選擇SFTP, 主機(jī)那輸入ubuntu的服務(wù)器ip,端口可以寫22也可

    2024年02月05日
    瀏覽(19)
  • 騰訊云服務(wù)器+寶塔+后端+前端發(fā)布

    騰訊云服務(wù)器+寶塔+后端+前端發(fā)布

    1、申請(qǐng)?jiān)品?wù)器。登陸。 https://cloud.tencent.com/ ? 創(chuàng)建實(shí)例 最好重置密碼,并記住。 ?配置安全組,當(dāng)我們是學(xué)習(xí)的時(shí)候,全部開放好了。 ? 有些版本是去“防火墻”那里配置。?輕量應(yīng)用服務(wù)器(試用的) ? ? 2、安裝Docker。在安裝云服務(wù)時(shí),我選了Centos7.8+Docker。這里就不

    2024年02月13日
    瀏覽(39)
  • 項(xiàng)目發(fā)布部署:如何發(fā)布.NETCore項(xiàng)目到IIS服務(wù)器?

    項(xiàng)目發(fā)布部署:如何發(fā)布.NETCore項(xiàng)目到IIS服務(wù)器?

    前言:本文將詳細(xì)介紹如何發(fā)布.NET Core項(xiàng)目到IIS服務(wù)器。首先,第一步需要安裝IIS,介紹了在本地電腦和服務(wù)器中進(jìn)行安裝。然后需要安裝SDK和運(yùn)行時(shí)才能發(fā)布.NETCore項(xiàng)目。其次介紹了如何發(fā)布.NETCore項(xiàng)目和Vue項(xiàng)目,并配置IIS。最后介紹了如何將項(xiàng)目部署到Service服務(wù)中。 (

    2024年02月13日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包