国产6699视频在线观看_女人爽到喷水的视频大全_亚洲欧美日韩国产视频亚洲欧美综合日韩久久_中文字幕无码久久东京热_av电影中文一区

 
首頁(yè) > 理財(cái) >
 
 

天天快訊:中國(guó)工商銀行應(yīng)用流量防護(hù)實(shí)踐

2023-01-18 14:02:21  來(lái)源:InfoQ

作者 | 中國(guó)工商銀行金融科技研究院云計(jì)算實(shí)驗(yàn)室


(資料圖片僅供參考)

前 言

互聯(lián)網(wǎng)金融時(shí)代,金融產(chǎn)品和服務(wù)模式出現(xiàn)了日新月異的變化,新技術(shù)層出不窮,應(yīng)用架構(gòu)的復(fù)雜程度不斷增加,系統(tǒng)承載的交易量也隨之攀升,如何在加快企業(yè)數(shù)字化轉(zhuǎn)型的同時(shí)保障業(yè)務(wù)安全穩(wěn)定運(yùn)行,是金融 IT 系統(tǒng)建設(shè)面臨的重要問(wèn)題,而以交易流量為切入點(diǎn)開(kāi)展流量防護(hù)工作,則是 IT 系統(tǒng)在穩(wěn)定性守護(hù)方面至關(guān)重要的環(huán)節(jié)。

為了進(jìn)一步提升業(yè)務(wù)交易的連續(xù)性,中國(guó)工商銀行(后簡(jiǎn)稱工行)于 2015 年開(kāi)始探索分布式流量防護(hù)能力,從最初的逐步嘗試到抽取提煉,再到如今已建成了同業(yè)領(lǐng)先的流量防護(hù)平臺(tái),每日防護(hù)流量超百億筆,有效守護(hù)了涉賬、涉敏交易的穩(wěn)定,形成了企業(yè)級(jí)的流量防護(hù)能力。本文主要介紹了工行在企業(yè)級(jí)流量防護(hù)能力建設(shè)過(guò)程中的實(shí)踐經(jīng)驗(yàn)。

發(fā)展歷程

為保證系統(tǒng)穩(wěn)定和業(yè)務(wù)連續(xù)運(yùn)行,更好的應(yīng)對(duì)各種異常流量情況,工行于 2015 年開(kāi)始探索分布式流量防護(hù)能力,歷經(jīng)多年打磨,最終形成了企業(yè)級(jí)的流量防護(hù)網(wǎng)。

2017 年以前,初步形成應(yīng)用級(jí)流量防護(hù)

在 2017 年以前,常常遇到因?yàn)楫惓A髁繘_擊而導(dǎo)致服務(wù)穩(wěn)定性下降的問(wèn)題,短時(shí)間的突增流量會(huì)直接沖破服務(wù)器性能瓶頸,最終造成業(yè)務(wù)受損。為避免類似問(wèn)題的發(fā)生,各核心應(yīng)用分別開(kāi)發(fā)了適用于各自業(yè)務(wù)場(chǎng)景的流量防護(hù)能力,包括并發(fā)線程控制、訪問(wèn)速率控制等手段,基本實(shí)現(xiàn)了對(duì)核心交易模塊的簡(jiǎn)單防護(hù)能力。

2017 年至 2020 年,提取公共能力,形成框架級(jí)流量防護(hù)

進(jìn)入 2017 年,工行大力推進(jìn)統(tǒng)一分布式服務(wù)框架的落地工作,越來(lái)越多的新老應(yīng)用開(kāi)始向標(biāo)準(zhǔn)化的服務(wù)框架進(jìn)行遷移。為了保障業(yè)務(wù)不受異常流量影響,工行在服務(wù)框架上增加了并發(fā)數(shù)控制能力,并強(qiáng)制要求應(yīng)用對(duì)上線的所有服務(wù)進(jìn)行配置,以保證生產(chǎn)運(yùn)行過(guò)程中始終有防護(hù)策略兜底。

2020 年至今,搭建標(biāo)準(zhǔn)且統(tǒng)一的企業(yè)級(jí)流量防護(hù)平臺(tái)

隨著業(yè)務(wù)邊界不斷拓展,業(yè)務(wù)交易量不斷上升,系統(tǒng)的穩(wěn)定性成為影響交易表現(xiàn)的最重要因素。在核心業(yè)務(wù)的交易過(guò)程中,業(yè)務(wù)的交易整體成功率,常會(huì)因邊緣環(huán)節(jié)防護(hù)能力的缺失而受到影響。為此,工行通過(guò)搭建統(tǒng)一的流量防護(hù)平臺(tái),整合各技術(shù)框架能力,制定標(biāo)準(zhǔn)的流量防護(hù)方案,覆蓋全行流量防護(hù)場(chǎng)景。截至目前,流量防護(hù)平臺(tái)已幫助大零售、大對(duì)公、信貸等 9 個(gè)重點(diǎn)產(chǎn)品條線的 160 余個(gè)核心應(yīng)用快速構(gòu)建流量防護(hù)能力,有效保障了全行交易的穩(wěn)定運(yùn)行。

實(shí)踐心得

在流量高速膨脹的這幾年里,工行逐步將小范圍的應(yīng)用級(jí)防護(hù)升級(jí)為企業(yè)級(jí)的流量防護(hù)能力,并通過(guò)以下 4 個(gè)方面的努力,最終實(shí)現(xiàn)了標(biāo)準(zhǔn)化的限流、熔斷、阻斷能力,橫向適配了絕大多數(shù)技術(shù)棧,縱向支持對(duì)各應(yīng)用、群組、單元進(jìn)行實(shí)時(shí)策略調(diào)整,有效實(shí)現(xiàn)了對(duì)涉敏、涉賬、對(duì)客場(chǎng)景的守護(hù)。

統(tǒng)一標(biāo)準(zhǔn),形成適用且易用的防護(hù)能力

首先,需要對(duì)原有服務(wù)框架、核心應(yīng)用各自提供的流量防護(hù)能力進(jìn)行整合,提煉形成標(biāo)準(zhǔn)化的能力手段。

綜合對(duì)比原有實(shí)現(xiàn)方式及業(yè)界常用的方案后,工行選擇了開(kāi)源的 Sentinel 作為流量防護(hù)的統(tǒng)一工具。對(duì)比分析情況如圖 1 所示。

圖 1 Sentinel 與其他工具對(duì)比

為更好的滿足全行的使用場(chǎng)景,工行在 Sentinel 的基礎(chǔ)上進(jìn)行了二次開(kāi)發(fā),重新定義限流、熔斷、阻斷三種基礎(chǔ)能力(如圖 2 所示):

限流,一種保護(hù)服務(wù)提供方的常見(jiàn)手段,當(dāng)提供方因?yàn)榇罅康恼?qǐng)求而達(dá)到性能資源瓶頸時(shí),系統(tǒng)根據(jù)預(yù)設(shè)的規(guī)則對(duì)超限的流量進(jìn)行快速拒絕。

熔斷,一種保護(hù)服務(wù)調(diào)用方的重要手段,是指當(dāng)對(duì)下游服務(wù)的異常訪問(wèn)過(guò)多、耗時(shí)過(guò)長(zhǎng)時(shí),系統(tǒng)自動(dòng)斷開(kāi)對(duì)下游服務(wù)的訪問(wèn),以保證整體業(yè)務(wù)不被當(dāng)前交易環(huán)節(jié)所拖垮。

阻斷,運(yùn)維人員根據(jù)實(shí)際運(yùn)維需要,直接關(guān)閉某個(gè)服務(wù)資源或服務(wù)調(diào)用。

圖 2 限流熔斷等能力定義

除上述基礎(chǔ)能力外,為更好的貼近業(yè)務(wù)場(chǎng)景,工行對(duì)限流、熔斷等能力進(jìn)行了維度上的擴(kuò)展,即向上抽象形成節(jié)點(diǎn)級(jí)的全局限流,向下針對(duì)各類參數(shù)、流量標(biāo)簽實(shí)現(xiàn)精細(xì)化的場(chǎng)景提升(如圖 3 所示)。

圖 3 限流熔斷能力維度設(shè)計(jì)

為了向新舊業(yè)務(wù)場(chǎng)景提供標(biāo)準(zhǔn)、統(tǒng)一的場(chǎng)景化能力,工行針對(duì)不同的交易場(chǎng)景提供了請(qǐng)求體參數(shù)解析的能力,方便渠道、網(wǎng)關(guān)等負(fù)責(zé)提供公共入口的應(yīng)用快速根據(jù)請(qǐng)求中的參數(shù)進(jìn)行不同維度的流量防護(hù)(如圖 4 所示)。

圖 4 參數(shù)限流說(shuō)明

在判斷的過(guò)程中,請(qǐng)求經(jīng)過(guò)接口維度的限流防護(hù)后,還需要對(duì)“接口 + 參數(shù)”維度進(jìn)行校驗(yàn)。在此過(guò)程中平臺(tái)將傳入接口的所有參數(shù)傳遞給應(yīng)用編寫的參數(shù)解析器,參數(shù)解析器負(fù)責(zé)將全部參數(shù)按照業(yè)務(wù)邏輯進(jìn)行整合后返回,根據(jù)返回的參數(shù)值校驗(yàn)是否符合事先配置的參數(shù)限流策略,校驗(yàn)通過(guò)則放行請(qǐng)求。

通過(guò)開(kāi)放參數(shù)解析器的形式,可以實(shí)現(xiàn)對(duì)請(qǐng)求中復(fù)雜參數(shù)的解析以及業(yè)務(wù)場(chǎng)景的自定義拼接。

覆蓋邊緣場(chǎng)景,打造高拓展技術(shù)組件

標(biāo)準(zhǔn)的流量防護(hù)能力基本可以解決各個(gè)場(chǎng)景下的異常流量問(wèn)題。接下來(lái),工行需要將標(biāo)準(zhǔn)的能力封裝到公共組件中以便各應(yīng)用接入使用。

首先遇到的問(wèn)題是“如何才能將對(duì)多套開(kāi)發(fā)框架的支持融合在同一個(gè)組件中,減少開(kāi)發(fā)、維護(hù)的成本”。經(jīng)過(guò)研究,工行選定了字節(jié)碼增強(qiáng)技術(shù),java 的字節(jié)碼增強(qiáng)技術(shù)是一種對(duì)現(xiàn)有字節(jié)碼進(jìn)行修改或者動(dòng)態(tài)生成全新字節(jié)碼文件的技術(shù),只要基于 java 語(yǔ)言編寫的服務(wù)框架,便可以通過(guò)操縱字節(jié)碼實(shí)現(xiàn)代碼的植入,對(duì)于新舊框架共存的體系來(lái)說(shuō),是一種非常不錯(cuò)的方式(如圖 5 所示)。

圖 5 字節(jié)碼增強(qiáng)技術(shù)說(shuō)明

工行在明確了以字節(jié)碼增強(qiáng)技術(shù)底座作為統(tǒng)一支撐核心后,開(kāi)始對(duì)上層能力進(jìn)行設(shè)計(jì),除了流量防護(hù)外,還引入了鏈路追蹤、指標(biāo)采集、流量錄制等更多運(yùn)維能力,通過(guò)插拔化的形式,將各個(gè)能力模塊注入到這個(gè)大的客戶端中,在保證能力獨(dú)立運(yùn)行不互相耦合的同時(shí),通過(guò)同一個(gè)客戶端將非功能性的運(yùn)維領(lǐng)域能力進(jìn)行整合。

下面對(duì)本次全新打造的技術(shù)組件做一個(gè)簡(jiǎn)單的總結(jié)(如圖 6 所示):

適配方面:通過(guò)修改字節(jié)碼的方式,適配服務(wù)間調(diào)用、數(shù)據(jù)庫(kù)訪問(wèn)等場(chǎng)景。

能力方面:通過(guò)對(duì)齊監(jiān)控運(yùn)維元數(shù)據(jù),打通監(jiān)控治理屏障,形成流量控制、鏈路追蹤、指標(biāo)采集等監(jiān)控治理一體化的能力視圖。

組件核心方面:通過(guò)模塊化管理、統(tǒng)一編程 SDK 提供等,實(shí)現(xiàn)組件自身高解耦、高容錯(cuò)、高標(biāo)準(zhǔn)的特性。

圖 6 統(tǒng)一客戶端架構(gòu)設(shè)計(jì)

聯(lián)動(dòng)實(shí)時(shí)監(jiān)控,實(shí)現(xiàn)異??焖僦寡?/p>

除應(yīng)用在服務(wù)上線前配置的常態(tài)化的限流策略外,工行還針對(duì)生產(chǎn)運(yùn)行過(guò)程中可能出現(xiàn)的異常流量,提供快速應(yīng)急調(diào)整的能力。

利用分布式配置中心支持快速調(diào)整配置并實(shí)時(shí)通知到節(jié)點(diǎn)的特性,運(yùn)維人員現(xiàn)在可以通過(guò)生產(chǎn)監(jiān)控視圖快速地跳轉(zhuǎn)到限流規(guī)則配置頁(yè)面,根據(jù)觀測(cè)到的監(jiān)控指標(biāo),對(duì)限流、熔斷等策略進(jìn)行實(shí)時(shí)的配置下發(fā)(如圖 7 所示)。

圖 7 監(jiān)控治理一體化視圖

通過(guò)頁(yè)面提交限流策略后,策略會(huì)被下發(fā)到遠(yuǎn)程配置中心,配置中心實(shí)時(shí)推送到應(yīng)用節(jié)點(diǎn)后生效情況出現(xiàn)在監(jiān)控視圖中(如圖 8 所示)。

圖 8 在線應(yīng)急實(shí)時(shí)生效

總結(jié)場(chǎng)景規(guī)律,提煉相應(yīng)技術(shù)規(guī)范

長(zhǎng)期的實(shí)踐證明平臺(tái)在具備了強(qiáng)大技術(shù)組件和完善的功能機(jī)制后,還需要制定標(biāo)準(zhǔn)的使用規(guī)范指導(dǎo)應(yīng)用更加正確地使用相關(guān)能力。為此,工行整理了一套適用于行內(nèi)現(xiàn)有場(chǎng)景下的標(biāo)準(zhǔn)規(guī)范,在這里簡(jiǎn)單介紹。

應(yīng)用內(nèi)所有服務(wù)應(yīng)對(duì)外配置限流策略

限流是一種保護(hù)提供方節(jié)點(diǎn)性能資源的重要手段,在分布式場(chǎng)景下,每個(gè)節(jié)點(diǎn)的所有服務(wù)都應(yīng)對(duì)外配置限流策略,保障節(jié)點(diǎn)自身性能容量冗余。

重點(diǎn)交易功能中對(duì)于非關(guān)鍵服務(wù)的訪問(wèn)應(yīng)配置熔斷策略

熔斷作為一種殺傷性較強(qiáng)的手段,適用于對(duì)重點(diǎn)交易功能中的非關(guān)鍵服務(wù)調(diào)用進(jìn)行配置,如對(duì)轉(zhuǎn)賬功能中的積分增減進(jìn)行熔斷的配置,以免積分接口的調(diào)用影響轉(zhuǎn)賬交易的成功率(如圖 9 所示)。

圖 9 非關(guān)鍵服務(wù)熔斷示意圖

對(duì)數(shù)據(jù)緩存類的訪問(wèn)(如 Redis)應(yīng)配置熔斷策略

分布式數(shù)據(jù)庫(kù)的調(diào)用是現(xiàn)有生態(tài)下非常重要的組成部分,為了避免緩存訪問(wèn)異常,對(duì)交易造成較大干擾,需快速啟用緩存?zhèn)浞莘桨福ㄔL問(wèn)主數(shù)據(jù)庫(kù)或其他),因此平臺(tái)應(yīng)對(duì)數(shù)據(jù)緩存類的訪問(wèn)配置熔斷策略,確保請(qǐng)求能夠及時(shí)斷開(kāi)并恢復(fù)交易(如圖 10 所示)。

圖 10 數(shù)據(jù)緩存類調(diào)用熔斷示意圖

隨著應(yīng)用架構(gòu)的不斷轉(zhuǎn)型和新業(yè)態(tài)新模式的不斷出現(xiàn),工行將不斷提煉完善,指導(dǎo)應(yīng)用更加正確的使用流量防護(hù)能力,最終保證服務(wù)運(yùn)行穩(wěn)定。

現(xiàn)有成果

流量防護(hù)平臺(tái)作為分布式系統(tǒng)穩(wěn)定性保障的重要支撐平臺(tái),深度對(duì)齊工行架構(gòu)轉(zhuǎn)型各項(xiàng)工作要求,覆蓋全行核心及邊緣場(chǎng)景,截至目前已完成全行所有重點(diǎn)應(yīng)用的推廣,重點(diǎn)業(yè)務(wù)場(chǎng)景覆蓋率已超 60%,在零售、對(duì)公、信貸、國(guó)際化等多個(gè)產(chǎn)品條線均有相關(guān)能力的落地。

平臺(tái)目前處于推廣的高峰期,每日監(jiān)控流量 150 億筆,每月攔截異常流量百萬(wàn)筆以上,通過(guò)提供標(biāo)準(zhǔn)化的流量防護(hù)能力,幫助多個(gè)涉敏、涉賬、對(duì)客的業(yè)務(wù)系統(tǒng)在出現(xiàn)故障時(shí)(如網(wǎng)絡(luò)抖動(dòng)、Ceph 存儲(chǔ)故障)保障自身性能冗余,有效守護(hù)了交易的連續(xù)與穩(wěn)定(如圖 11 所示)。

圖 11 平臺(tái)流量監(jiān)控效果

未來(lái)展望

隨著分布式體系的不斷壯大,流量防護(hù)體系的構(gòu)建已成為保證系統(tǒng)穩(wěn)定的最基本要求。未來(lái),工行將繼續(xù)對(duì)標(biāo)業(yè)界優(yōu)秀實(shí)踐,探索流量防護(hù)能力在保障服務(wù)穩(wěn)定可靠的同時(shí),實(shí)現(xiàn)與研發(fā)效率、服務(wù)規(guī)模的互相平衡。重點(diǎn)探索流量防護(hù)能力的智能化轉(zhuǎn)型,加大對(duì)現(xiàn)有運(yùn)行數(shù)據(jù)的萃取與利用,形成運(yùn)行指標(biāo)預(yù)測(cè)、智能流量控制等能力,幫助應(yīng)用更正確的使用相關(guān)能力,進(jìn)一步夯實(shí)工行系統(tǒng)穩(wěn)定性的支撐能力。

關(guān)鍵詞: 防護(hù)能力 中國(guó)工商銀行

  
相關(guān)新聞
每日推薦
  • 滾動(dòng)
  • 理財(cái)
  • 房產(chǎn)