日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Service Mesh 在中国工商银行的探索与实践

發(fā)布時(shí)間:2025/3/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Service Mesh 在中国工商银行的探索与实践 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作者:顧欣

微服務(wù)架構(gòu)是當(dāng)今互聯(lián)網(wǎng)和金融機(jī)構(gòu)漸趨主流的系統(tǒng)架構(gòu)模式,其核心是集成服務(wù)通信、服務(wù)治理功能的服務(wù)框架,微服務(wù)框架在持續(xù)演進(jìn)同時(shí),服務(wù)網(wǎng)格(Service Mesh)作為一種新型的微服務(wù)架構(gòu),因架構(gòu)靈活、普適性強(qiáng),被認(rèn)為具有較好發(fā)展前景。中國(guó)工商銀行(后簡(jiǎn)稱工行)主動(dòng)探索服務(wù)網(wǎng)格領(lǐng)域,從 2019 年開始服務(wù)網(wǎng)格技術(shù)預(yù)研工作,通過對(duì)服務(wù)網(wǎng)格技術(shù)深入研究和實(shí)踐后,于 2021 年建設(shè)了服務(wù)網(wǎng)格平臺(tái)。服務(wù)網(wǎng)格與現(xiàn)有微服務(wù)架構(gòu)融合發(fā)展,助力工行應(yīng)用架構(gòu)向分布式、服務(wù)化轉(zhuǎn)型,承載未來開放平臺(tái)核心銀行系統(tǒng)。

業(yè)界服務(wù)網(wǎng)格發(fā)展現(xiàn)狀

自 2016 年服務(wù)網(wǎng)格技術(shù)誕生以來,業(yè)界涌現(xiàn)了諸多的開源產(chǎn)品,如 Istio(Google + IBM + Lyft)、Linkerd(Twitter)、Consul(Hashicorp)等。其中以 Istio 社區(qū)活躍度和認(rèn)可度最高,被作為服務(wù)網(wǎng)格的標(biāo)桿開源產(chǎn)品。

服務(wù)網(wǎng)格是一個(gè)專門處理服務(wù)通訊的基礎(chǔ)設(shè)施層。它通過在業(yè)務(wù) Pod 中注入 Sidecar 容器,接管業(yè)務(wù)容器的通信流量,同時(shí) Sidecar 容器與網(wǎng)格平臺(tái)的控制平面對(duì)接,基于控制平面下發(fā)的策略,對(duì)代理流量實(shí)施治理和管控,將原有服務(wù)框架的治理能力下層到 Sidecar 容器中,從而實(shí)現(xiàn)了基礎(chǔ)框架能力的下沉,與業(yè)務(wù)系統(tǒng)解耦。


圖 1:服務(wù)網(wǎng)格示意圖

Sidecar 容器接管后端服務(wù)通信的進(jìn)出流量后,通過標(biāo)準(zhǔn)協(xié)議進(jìn)行服務(wù)間通信,可實(shí)現(xiàn)跨語言、跨協(xié)議的服務(wù)互訪。此外,Sidecar 容器可對(duì)代理的流量進(jìn)行管控,如統(tǒng)一的服務(wù)路由、安全加密、監(jiān)控采集等。


圖 2:服務(wù)網(wǎng)格請(qǐng)求流轉(zhuǎn)過程示意圖

服務(wù)網(wǎng)格技術(shù)在工行的探索與實(shí)踐

工行從 2015 年開啟了 IT 架構(gòu)轉(zhuǎn)型工程,截止目前分布式體系已覆蓋 240 余個(gè)關(guān)鍵應(yīng)用,生產(chǎn)已有約超 48 萬個(gè)提供方分布式服務(wù)節(jié)點(diǎn),日均服務(wù)調(diào)用量超 127 億,逐步實(shí)現(xiàn)了超越主機(jī)性能容量的集群處理能力。工行分布式服務(wù)平臺(tái)在穩(wěn)定支撐已有業(yè)務(wù)系統(tǒng)的平穩(wěn)運(yùn)行同時(shí),也存在一些業(yè)界共性的挑戰(zhàn),諸如:

1)跨語言技術(shù)棧的互聯(lián)互通需研發(fā)多套基礎(chǔ)框架,技術(shù)研發(fā)和維護(hù)成本高。

2)多產(chǎn)品線下,各應(yīng)用使用了不同版本的基礎(chǔ)框架,推動(dòng)各應(yīng)用升級(jí)框架周期較長(zhǎng),生產(chǎn)并行運(yùn)行多版本的基礎(chǔ)框架,兼容壓力較大。

為解決當(dāng)前痛點(diǎn),工行積極引入服務(wù)網(wǎng)格技術(shù),探索解耦業(yè)務(wù)系統(tǒng)與基礎(chǔ)設(shè)施,完善服務(wù)治理能力。

與微服務(wù)框架融合發(fā)展,構(gòu)建企業(yè)級(jí)服務(wù)網(wǎng)格平臺(tái)

服務(wù)網(wǎng)格(Service Mesh)平臺(tái)在建設(shè)過程中,集成了原有分布式體系的注冊(cè)中心、服務(wù)監(jiān)控等基礎(chǔ)設(shè)施,將原服務(wù)框架客戶端中最基礎(chǔ)的通訊協(xié)議編解碼能力以輕量級(jí)客戶端的形式保留在業(yè)務(wù)系統(tǒng)中,其余服務(wù)框架客戶端的能力均下沉至 Sidecar 中,可與服務(wù)框架兼容發(fā)展,平滑過渡。目前工行已完成服務(wù)網(wǎng)格(Service Mesh)平臺(tái)的建設(shè),在與分布式服務(wù)平臺(tái)融合發(fā)展過程中,打通了異構(gòu)語言系統(tǒng)的服務(wù)治理與監(jiān)控體系,解耦了業(yè)務(wù)與中間件系統(tǒng),豐富了流量治理能力,并已在智能投顧、文字識(shí)別等應(yīng)用完成業(yè)務(wù)試點(diǎn)。


圖 3:服務(wù)網(wǎng)格邊車(Sidecar)與微服務(wù) SDK 對(duì)比圖

服務(wù)網(wǎng)格控制平面包含了配置中心、注冊(cè)中心、安全中心、管控中心、監(jiān)控中心、日志中心等模塊。數(shù)據(jù)平面 Sidecar 與原服務(wù)框架使用相同的通訊協(xié)議(Dubbo/Spring Cloud),支持服務(wù)網(wǎng)格系統(tǒng)與原服務(wù)框架系統(tǒng)互聯(lián)互通,平滑遷移。


圖 4:工行服務(wù)網(wǎng)格架構(gòu)圖

探索企業(yè)級(jí)方案,支持規(guī)模化部署和平滑遷移

工行服務(wù)網(wǎng)格在大數(shù)據(jù)、高頻聯(lián)機(jī)等服務(wù)場(chǎng)景下,對(duì)流量代理部署模式、平滑遷移、性能優(yōu)化等方面開展了落地實(shí)踐。

(1)大數(shù)據(jù)場(chǎng)景下的無侵入流量代理部署模式

工行應(yīng)用開發(fā)語言主要使用 Java,但在大數(shù)據(jù)領(lǐng)域 Python 語言也被廣泛使用。針對(duì)異構(gòu)語言場(chǎng)景,服務(wù)網(wǎng)格平臺(tái)提供了無侵入透明劫持的流量代理方案,簡(jiǎn)化了異構(gòu)語言應(yīng)用接入難度。無侵入流量代理的核心是通過修改網(wǎng)絡(luò) Iptables 規(guī)則,強(qiáng)制攔截進(jìn)出業(yè)務(wù)容器的流量,并將這部分流量重定向至 Sidecar 容器。其具體實(shí)現(xiàn)為:在啟動(dòng)業(yè)務(wù) Pod 時(shí),通過 Init Container(初始化容器)修改業(yè)務(wù) Pod 的網(wǎng)絡(luò) Iptables 規(guī)則,該規(guī)則讓進(jìn)出業(yè)務(wù)容器的流量都強(qiáng)制重定向至 Sidecar 容器,實(shí)現(xiàn) Sidecar 容器對(duì)業(yè)務(wù)容器的流量接管。


圖 5:透明劫持流量代理示意圖

但是 Iptables 對(duì)性能和可維護(hù)性都存在較大的挑戰(zhàn),故在聯(lián)機(jī)高頻服務(wù)場(chǎng)景,我們提供了輕量級(jí)客戶端與 Sidecar 協(xié)作的流量代理方案。

(2)高頻聯(lián)機(jī)場(chǎng)景下的低侵入流量代理部署模式

在聯(lián)機(jī)高頻服務(wù)場(chǎng)景,我們通過對(duì)業(yè)務(wù)應(yīng)用引入輕量級(jí)的客戶端,該客戶端在對(duì)業(yè)務(wù)透明的前提下,改變業(yè)務(wù)應(yīng)用的服務(wù)注冊(cè)發(fā)現(xiàn)行為,將原往注冊(cè)中心發(fā)起的服務(wù)注冊(cè)與訂閱的行為轉(zhuǎn)變?yōu)橥镜?127.0.0.1 的 Sidecar 地址發(fā)起服務(wù)注冊(cè)與訂閱,并由 Sidecar 代理向注冊(cè)中心發(fā)起服務(wù)注冊(cè)與訂閱。業(yè)務(wù)容器通過 Sidecar 代理訂閱后,本地獲取的服務(wù)目的地址則為 127.0.0.1 的 Sidecar 地址,后續(xù)所有請(qǐng)求將會(huì)直接發(fā)往 Sidecar,再由 Sidecar 轉(zhuǎn)發(fā)至真實(shí)的服務(wù)目的地址,實(shí)現(xiàn)流量代理能力。


圖 6:端口流量代理示意圖

(3)傳統(tǒng)部署向網(wǎng)格化部署的平滑遷移

目前工行微服務(wù)主要有基于 Dubbo 和 Spring Cloud 兩種服務(wù)實(shí)例組成,且已在生產(chǎn)環(huán)境大規(guī)模運(yùn)行,在引入服務(wù)網(wǎng)格系統(tǒng)時(shí)需具備與原微服務(wù)系統(tǒng)的平滑過渡能力。工行通過服務(wù)網(wǎng)格系統(tǒng)同時(shí)支持 Dubbo 與 Spring cloud 協(xié)議,服務(wù)網(wǎng)格實(shí)例可與原服務(wù)框架實(shí)例通過相同協(xié)議互相訪問。使在同一注冊(cè)中心下,服務(wù)網(wǎng)格系統(tǒng)與原分布式服務(wù)系統(tǒng)可融合發(fā)展,平滑過渡。


圖 7:平滑遷移示意圖

(4)規(guī)模化部署后的性能挑戰(zhàn)與優(yōu)化

目前工行最大的注冊(cè)中心集群上有超 48 萬提供者的超大規(guī)模業(yè)務(wù)場(chǎng)景,而在開源 Isito 架構(gòu)中,服務(wù)發(fā)現(xiàn)的目的地址、配置信息等會(huì)通過 Pilot 的 Xds API 進(jìn)行全量下發(fā)。在大量服務(wù)實(shí)例的情況下,全量下發(fā)會(huì)影響 Pilot 和 Sidecar 的性能和穩(wěn)定性。服務(wù)網(wǎng)格平臺(tái)通過引入第三方注冊(cè)中心與配置中心。由 Sidecar 直接對(duì)接注冊(cè)中心與配置中心,支持按需訂閱,配置精準(zhǔn)下發(fā),大幅降低 Pilot 和 Sidecar 壓力。通過壓測(cè),控制平面具備支持百萬級(jí)實(shí)例的性能容量能力。


圖 8:工行控制面組件演進(jìn)圖

構(gòu)建企業(yè)級(jí)服務(wù)治理能力,支持精準(zhǔn)流量管控

目前開源 Istio 的流量治理能力極其有限,只有基礎(chǔ)的路由與可觀察性,無法滿足企業(yè)級(jí)的需求。SOFAMesh 基于 Istio 架構(gòu)設(shè)計(jì),自研數(shù)據(jù)面,并調(diào)優(yōu)部分控制面組件,可滿足企業(yè)落地需求,工行與 SOFAMesh 團(tuán)隊(duì)合作,建設(shè)了金融級(jí)的服務(wù)網(wǎng)格平臺(tái),并對(duì)流量管控能力進(jìn)行了企業(yè)級(jí)增強(qiáng)。工行服務(wù)網(wǎng)格已具備完善的監(jiān)控運(yùn)維能力,能監(jiān)控到各節(jié)點(diǎn)運(yùn)行時(shí)狀態(tài),支持對(duì)各節(jié)點(diǎn)進(jìn)行實(shí)時(shí)流量調(diào)撥,對(duì)于故障節(jié)點(diǎn)具備實(shí)時(shí)流量摘除能力,能對(duì)各節(jié)點(diǎn)進(jìn)行統(tǒng)一安全管控。

(1)監(jiān)控運(yùn)維能力

服務(wù)網(wǎng)格平臺(tái)內(nèi)置了完善的監(jiān)控與報(bào)警能力,支持向第三方監(jiān)控系統(tǒng)上報(bào)服務(wù)監(jiān)控、鏈路監(jiān)控等監(jiān)控指標(biāo);并具備根據(jù)單位時(shí)間內(nèi)的業(yè)務(wù)請(qǐng)求異常率閾值的報(bào)警,且能在觸發(fā)限流、熔斷、降級(jí)、故障自愈等服務(wù)治理功能時(shí),同步觸發(fā)對(duì)應(yīng)的報(bào)警事件。

(2)流量治理能力

服務(wù)網(wǎng)格平臺(tái)已具備細(xì)粒度的流量精準(zhǔn)匹配能力,從流量身份標(biāo)識(shí)角度識(shí)別特定標(biāo)識(shí)的流量合集,并對(duì)這部分流量進(jìn)行精準(zhǔn)管控。平臺(tái)現(xiàn)已支持(標(biāo)簽級(jí)/方法級(jí)/服務(wù)級(jí)/應(yīng)用級(jí))限流、熔斷、降級(jí)、路由、流量鏡像、鏈路加密、鑒權(quán)、故障演練、故障隔離等企業(yè)級(jí)的流量管控能力。

(3)故障自愈能力

傳統(tǒng)故障反饋依賴監(jiān)控報(bào)警后通過應(yīng)急預(yù)案臨時(shí)處置故障節(jié)點(diǎn),業(yè)務(wù)和運(yùn)維定制應(yīng)急預(yù)案的能力,強(qiáng)依賴有經(jīng)驗(yàn)的運(yùn)維工程師,新人上手成本高;且預(yù)案操作散落在文檔中,可維護(hù)性差,隨著業(yè)務(wù)迭代可能會(huì)逐步退化,增加操作復(fù)雜度。服務(wù)網(wǎng)格平臺(tái)提供了一套統(tǒng)一的基礎(chǔ)故障自愈系統(tǒng),以時(shí)間窗口內(nèi)的業(yè)務(wù)請(qǐng)求失敗率為黃金指標(biāo),輔助窗口期間最少調(diào)用次數(shù)、失敗率倍數(shù)等,實(shí)現(xiàn)常見故障自動(dòng)感知,自動(dòng)從客戶端或服務(wù)端側(cè)網(wǎng)絡(luò)隔離故障節(jié)點(diǎn),并在故障節(jié)點(diǎn)恢復(fù)后能網(wǎng)絡(luò)自恢復(fù),達(dá)到業(yè)務(wù)自愈的能力,提升了分布式系的運(yùn)維高可用能力。


圖 9:故障隔離工作圖

(4)安全管理能力

服務(wù)網(wǎng)格平臺(tái)已支持安全認(rèn)證能力,支持國(guó)密及多種主流算法構(gòu)建加密通道,實(shí)現(xiàn)更加安全的數(shù)據(jù)傳輸,以零信任網(wǎng)絡(luò)的安全態(tài)度,實(shí)現(xiàn)全鏈路可信、加密;并能識(shí)別調(diào)用方身份標(biāo)識(shí),根據(jù)身份標(biāo)識(shí)設(shè)置訪問控制策略(黑/白名單)。在有多接入方的業(yè)務(wù)場(chǎng)景中,可預(yù)防個(gè)別客戶系統(tǒng)故障或者惡意攻擊,對(duì)異常客戶實(shí)施黑名單管控,拒絕非法訪問,保護(hù)本系統(tǒng)的可用性。


圖 10:安全管控工作示意圖

未來展望

服務(wù)網(wǎng)格作為云原生領(lǐng)域下一代微服務(wù)技術(shù),經(jīng)過 5 年多地演進(jìn),僅在個(gè)別頭部企業(yè)大規(guī)模生產(chǎn)實(shí)踐,以銀行為代表的金融同業(yè)中尚無成功案例。工行服務(wù)網(wǎng)格已完成多語言、異構(gòu)技術(shù)、邊緣場(chǎng)景的業(yè)務(wù)試點(diǎn),基本論證服務(wù)網(wǎng)格在流量管控、系統(tǒng)擴(kuò)展性的優(yōu)勢(shì),具有下沉服務(wù)治理能力到基礎(chǔ)設(shè)施層,高度解耦中間件與業(yè)務(wù)系統(tǒng)的可行性。后續(xù),工行將在全面總結(jié)前期試點(diǎn)經(jīng)驗(yàn)的基礎(chǔ)上,擴(kuò)大試點(diǎn)應(yīng)用范圍,充分論證服務(wù)網(wǎng)格技術(shù)在差異化的技術(shù)架構(gòu)、銀行多樣化業(yè)務(wù)場(chǎng)景的適應(yīng)性,同步打磨完善平臺(tái)能力,全面提升性能容量和穩(wěn)定性,為金融同業(yè)落地服務(wù)網(wǎng)格技術(shù)提供最佳實(shí)踐與示范。

點(diǎn)擊??此處??,查看 SOFAStack Mesh 更多相關(guān)信息!

總結(jié)

以上是生活随笔為你收集整理的Service Mesh 在中国工商银行的探索与实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。