F5灰度發(fā)布解決方案-應(yīng)用實(shí)例

來(lái)源: 知乎
作者:F5 Networks
時(shí)間:2021-09-23
16956
在這篇文章中,我將會(huì)通過(guò)一個(gè)實(shí)際案例來(lái)介紹一下F5灰度發(fā)布解決方案的具體應(yīng)用場(chǎng)景。

F5灰度發(fā)布解決方案應(yīng)用實(shí)例.png

在這篇文章中,我將會(huì)通過(guò)一個(gè)實(shí)際案例來(lái)介紹一下F5灰度發(fā)布解決方案的具體應(yīng)用場(chǎng)景。

01X 用戶(hù)為什么要使用灰度發(fā)布

在金融科技化的時(shí)代,灰度發(fā)布可以讓?xiě)?yīng)用更快地進(jìn)行迭代,以更高的頻率發(fā)布到市場(chǎng),同時(shí)還能減輕運(yùn)維人員的負(fù)擔(dān),并且給用戶(hù)帶來(lái)更好的體驗(yàn)。X用戶(hù)提供的服務(wù)已經(jīng)覆蓋了企業(yè)和個(gè)人的方方面面,新功能的發(fā)布、第三方接口的變更、問(wèn)題的修復(fù)都會(huì)需要進(jìn)行應(yīng)用的升級(jí)。但是對(duì)于運(yùn)維部門(mén)來(lái)說(shuō),應(yīng)用變更總是伴隨著風(fēng)險(xiǎn)和壓力。X用戶(hù)每次互聯(lián)網(wǎng)應(yīng)用更新均需要在23:00停機(jī)后才能進(jìn)行,經(jīng)常在凌晨才能完成上線,每次上線投產(chǎn)后由于時(shí)間窗口較晚、驗(yàn)證時(shí)間較短,有些場(chǎng)景需要隔日驗(yàn)證,無(wú)法對(duì)所有場(chǎng)景進(jìn)行覆蓋,無(wú)法保證互聯(lián)網(wǎng)應(yīng)用的穩(wěn)定性。同時(shí)對(duì)于業(yè)務(wù)部門(mén)和開(kāi)發(fā)部門(mén)來(lái)說(shuō),新的產(chǎn)品和功能是否能被大部分用戶(hù)接受,也存在一定的風(fēng)險(xiǎn)。

灰度發(fā)布,就是解決以上矛盾的一個(gè)最好方法。

02X 用戶(hù)灰度發(fā)布建設(shè)實(shí)踐

實(shí)現(xiàn)灰度發(fā)布最重要的兩個(gè)問(wèn)題是灰度策略如何制定,以及灰度策略如何執(zhí)行。

灰度策略其實(shí)就是決定什么樣的請(qǐng)求應(yīng)該路由到我們的灰度版本上來(lái),以什么為依據(jù)。在上一篇文章中我們提過(guò)通常有以下幾種策略:基于地域、基于用戶(hù)信息、基于交易類(lèi)型。

綜合考慮后,X用戶(hù)最終采用根據(jù)用戶(hù)進(jìn)行灰度的策略,根據(jù)不同應(yīng)用的特點(diǎn)設(shè)置用戶(hù)白名單,基于用戶(hù)白名單進(jìn)行灰度發(fā)布。

灰度策略執(zhí)行方面,X用戶(hù)針對(duì)互聯(lián)網(wǎng)應(yīng)用已經(jīng)建設(shè)了部署平臺(tái),另外X用戶(hù)所有的互聯(lián)網(wǎng)應(yīng)用都通過(guò)F5負(fù)載均衡器進(jìn)行交付?;赬用戶(hù)現(xiàn)狀,決定采用部署平臺(tái)和負(fù)載均衡配合的方式實(shí)現(xiàn)灰度發(fā)布。在負(fù)載均衡設(shè)備上預(yù)設(shè)好灰度標(biāo)志,由部署平臺(tái)通過(guò)F5的API控制負(fù)載均衡的灰度標(biāo)志,當(dāng)進(jìn)入灰度狀態(tài)時(shí),負(fù)載均衡設(shè)會(huì)將白名單用戶(hù)的交易請(qǐng)求分發(fā)至灰度版本應(yīng)用服務(wù)器。

灰度標(biāo)志

是由部署平臺(tái)調(diào)用負(fù)載均衡設(shè)備的API并存入負(fù)載均衡設(shè)備的表內(nèi),根據(jù)預(yù)定義,不同的灰度標(biāo)志狀態(tài)代表負(fù)載均衡設(shè)備執(zhí)行不同的分流策略。

灰度標(biāo)志狀態(tài)有4種狀態(tài):

v2-12404b68d95287af3eda799f4f06bf55_720w.png

客戶(hù)端+資源包模式(手機(jī)APP類(lèi)應(yīng)用)

總體方案如下圖:

v2-d5135df8894b57714d62fc939e39cba9_720w.jpg

主要分為以下幾個(gè)步驟:

·生成白名單:工作人員從應(yīng)用系統(tǒng)后管導(dǎo)入白名單,白名單存入業(yè)務(wù)系統(tǒng),此時(shí)白名單并未生效。

·部署平臺(tái)執(zhí)行灰度發(fā)布操作:在灰度發(fā)布之前調(diào)用F5接口,更新F5灰度標(biāo)志為C,此時(shí)阻止新交易發(fā)送至新版本所在服務(wù)器。

·部署平臺(tái)開(kāi)始發(fā)布新版本服務(wù),發(fā)布完成后部署平臺(tái)調(diào)用F5接口更新F5灰度標(biāo)志為B,并向業(yè)務(wù)系統(tǒng)發(fā)送接口,更新白名單為可用。

·客戶(hù)端發(fā)送版本查詢(xún)交易,服務(wù)方根據(jù)白名單返回對(duì)應(yīng)版本信息以及灰度特征碼COOKIE至請(qǐng)求方。

·F5根據(jù)客戶(hù)端請(qǐng)求交易中的灰度特征碼對(duì)交易進(jìn)行路由。

·部署平臺(tái)執(zhí)行灰度同步操作:在灰度同步之前調(diào)用F5接口,更新F5灰度標(biāo)志為D,此時(shí)新交易全部發(fā)送至灰度版所在服務(wù)器;部署平臺(tái)開(kāi)始同步新版本服務(wù),同步·完成后部署平臺(tái)調(diào)用F5接口更新F5灰度標(biāo)志為A,此時(shí)F5正常分配路由。

·撤銷(xiāo)灰度版本:部署平臺(tái)執(zhí)行灰度撤銷(xiāo)操作,在灰度撤銷(xiāo)之前調(diào)用F5接口,更新F5灰度標(biāo)志為C,此時(shí)新交易全部發(fā)送至常規(guī)版所在服務(wù)器;部署平臺(tái)開(kāi)始撤銷(xiāo)新版本服務(wù),撤銷(xiāo)完成后部署平臺(tái)調(diào)用F5接口更新F5灰度標(biāo)志為A,此時(shí)F5正常分配路由。

·無(wú)客戶(hù)端模式(Web瀏覽器類(lèi)應(yīng)用)

·總體方案如下圖:

v2-6a62b30f6344789d57e1c396ff7025f2_720w.jpg

無(wú)客戶(hù)端模式與客戶(hù)端模式步驟基本相同,區(qū)別只是在于第四步,無(wú)客戶(hù)端模式會(huì)在用戶(hù)進(jìn)行登錄交易時(shí)進(jìn)行白名單匹配。

03F5 配置

以F5的視角看,X用戶(hù)灰度發(fā)布的整體邏輯如下:

v2-fb08bdbee2e12f5febb4cf3600a775d7_720w.jpg

灰度標(biāo)示保存在F5的data_group中,部署平臺(tái)通過(guò)REST API控制F5設(shè)備上的灰度標(biāo)示。

F5的分發(fā)邏輯由以下iRule實(shí)現(xiàn):

v2-939d641ceab079003d77da588344d8bf_720w.png

修改F5灰度狀態(tài)標(biāo)示data_group的API示例如下:

v2-fb08bdbee2e12f5febb4cf3600a775d7_720w.jpg

API路徑:

https://x.x.x.x/mgmt/tm/ltm/data-group/internal/hd_data_group

API方法:PATCH

API Body:

v2-ec43c132d16d3ec800e818124ae76072_720w.png

04 結(jié)語(yǔ)

本文通過(guò)一個(gè)具體案例像大家介紹了F5灰度發(fā)布解決方案的實(shí)際應(yīng)用場(chǎng)景,希望能對(duì)大家有所啟發(fā),如果您的企業(yè)或組織也正在或準(zhǔn)備使用灰度發(fā)布技術(shù),可以參考本文所提到的案例,也歡迎您聯(lián)系F5,進(jìn)行更多的交流和探討。

立即登錄,閱讀全文
版權(quán)說(shuō)明:
本文內(nèi)容來(lái)自于知乎,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
F5搭載NVIDIA BlueField-3 DPU賦能加速AI應(yīng)用交付
F5搭載NVIDIA BlueField-3 DPU賦能加速AI應(yīng)用交付
F5(NASDAQ:FFIV)日前宣布推出BIG-IP Next for Kubernetes,一項(xiàng)全新的創(chuàng)新AI應(yīng)用交付和應(yīng)用安全解決方案,旨在為服務(wù)提供商和大型企業(yè)提供集中控制點(diǎn),以加速、保護(hù)和簡(jiǎn)化流入和流出大型人工智能(AI)基礎(chǔ)設(shè)施的數(shù)據(jù)流量。
F5 Networks
云服務(wù)
2024-11-032024-11-03
F5研究顯示:企業(yè)加速I(mǎi)T發(fā)展,以充分挖掘生成式AI潛力
F5研究顯示:企業(yè)加速I(mǎi)T發(fā)展,以充分挖掘生成式AI潛力
F5(NASDAQ:FFIV)日前發(fā)布《2024年數(shù)字化企業(yè)成熟度指數(shù)報(bào)告》(以下簡(jiǎn)稱(chēng)“報(bào)告”),該報(bào)告對(duì)全球企業(yè)數(shù)字化轉(zhuǎn)型工作進(jìn)行全面分析,強(qiáng)調(diào)了生成式人工智能(AI)的顯著影響及其在推動(dòng)各行業(yè)數(shù)字化成熟度方面的關(guān)鍵作用。
F5 Networks
云服務(wù)
2024-11-022024-11-02
智駕時(shí)代大數(shù)據(jù)激增,網(wǎng)絡(luò)延遲等問(wèn)題該如何避免?
智駕時(shí)代大數(shù)據(jù)激增,網(wǎng)絡(luò)延遲等問(wèn)題該如何避免?
汽車(chē)智能化時(shí)代已然來(lái)臨,智能駕駛、車(chē)聯(lián)網(wǎng)、智能座艙、車(chē)路云一體等諸多新應(yīng)用功能的不斷加碼,促使越來(lái)越多的數(shù)據(jù)產(chǎn)生。
F5 Networks
云服務(wù)
2024-11-022024-11-02
在API超越應(yīng)用的時(shí)代,企業(yè)應(yīng)如何持續(xù)推進(jìn)數(shù)字化擴(kuò)展(下)
在API超越應(yīng)用的時(shí)代,企業(yè)應(yīng)如何持續(xù)推進(jìn)數(shù)字化擴(kuò)展(下)
前面「數(shù)字化擴(kuò)展階段應(yīng)用服務(wù)常見(jiàn)問(wèn)題」部分,我們?cè)敿?xì)羅列了云基礎(chǔ)架構(gòu)建設(shè)、應(yīng)用現(xiàn)代化、應(yīng)用上云,以及多云環(huán)境下應(yīng)用移植性能力建設(shè)過(guò)程中與應(yīng)用服務(wù)相關(guān)的常見(jiàn)問(wèn)題,這些問(wèn)題也是對(duì)組織在過(guò)去多年實(shí)際生產(chǎn)運(yùn)營(yíng)中遇到問(wèn)題的總結(jié)。
F5 Networks
云服務(wù)
2024-11-012024-11-01
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家