中國人民銀行《金融科技發(fā)展規(guī)劃(2019-2021)》指出:“加強(qiáng)分布式數(shù)據(jù)庫研發(fā)應(yīng)用……有計(jì)劃、分步驟地穩(wěn)妥推動(dòng)分布式數(shù)據(jù)庫產(chǎn)品先行先試,形成可借鑒、能推廣的典型案例和解決方案,為分布式數(shù)據(jù)庫在金融領(lǐng)域的全面應(yīng)用探明路徑。”
大型銀行實(shí)現(xiàn)核心系統(tǒng)由國外主機(jī)平臺向國產(chǎn)分布式平臺遷移,是大勢所趨,也是一個(gè)巨大的工程。確保遷移過程的可觀察性(observability)、保證業(yè)務(wù)連續(xù)不中斷,是重中之重,核心下移的過程是三分開發(fā)+七分運(yùn)維。
核心下移過程充滿嚴(yán)峻挑戰(zhàn),尤其是數(shù)據(jù)庫的分布化,給運(yùn)維帶來極大的難度,而交易監(jiān)控系統(tǒng)事前、事中、事后都會(huì)發(fā)揮不可替代的作用。
挑戰(zhàn)之一:集中式運(yùn)維到分布式運(yùn)維
銀行核心系統(tǒng)從主機(jī)系統(tǒng)遷移到X86分布式平臺,相當(dāng)于實(shí)現(xiàn)了從集中式單節(jié)點(diǎn)到多節(jié)點(diǎn)架構(gòu)的飛躍,難度不亞于乾坤大挪移。
集中式系統(tǒng)中的交易實(shí)現(xiàn)過程相對簡單,而遷移到分布式系統(tǒng)后,交易的流轉(zhuǎn)過程大大復(fù)雜化了,原來很簡單的一筆交易,都可能由數(shù)臺甚至數(shù)十臺節(jié)點(diǎn)協(xié)同完成,可能跨越多個(gè)集群和數(shù)據(jù)中心。如何跟蹤這些復(fù)雜的交易過程,及時(shí)處理其中出現(xiàn)的問題,優(yōu)化不合理的資源配置,正是所有分布式系統(tǒng)的運(yùn)維工作難度所在。
例如,某大型銀行的X86核心系統(tǒng)采用多地多中心的部署架構(gòu),外圍系統(tǒng)通過DNS域名解析、F5負(fù)載均衡訪問應(yīng)用集群,應(yīng)用集群通過PROXY訪問數(shù)據(jù)庫,同時(shí)集群中還包括REDIS、全局事物管理節(jié)點(diǎn)、元數(shù)據(jù)管理節(jié)點(diǎn)等。數(shù)百臺服務(wù)器構(gòu)成的集群,結(jié)構(gòu)復(fù)雜,節(jié)點(diǎn)眾多。
華青融天鷹眼交易監(jiān)控系統(tǒng)(EZSonar)采集和分析業(yè)務(wù)系統(tǒng)產(chǎn)生的數(shù)據(jù)流量,解析所有報(bào)文,從而貫通了分布式節(jié)點(diǎn)構(gòu)成的整個(gè)交易鏈路,從業(yè)務(wù)視角實(shí)時(shí)監(jiān)控交易量、響應(yīng)率、成功率等指標(biāo)。當(dāng)有故障發(fā)生時(shí),可以按交易鏈路順藤摸瓜,快速發(fā)現(xiàn)出現(xiàn)性能問題和故障的節(jié)點(diǎn),為分布式系統(tǒng)的運(yùn)維實(shí)現(xiàn)提供了利器。
挑戰(zhàn)之二:建立分布式環(huán)境下的運(yùn)維體系
中國人民銀行《金融科技發(fā)展規(guī)劃(2019-2021)》強(qiáng)調(diào):“做好分布式數(shù)據(jù)庫金融應(yīng)用的長期規(guī)劃,加大研發(fā)與應(yīng)用投入力度,妥善解決分布式數(shù)據(jù)庫產(chǎn)品在數(shù)據(jù)一致性、實(shí)際場景驗(yàn)證、遷移保障規(guī)范、新型運(yùn)維體系等方面的問題。”
可見,要實(shí)現(xiàn)分布式環(huán)境下的運(yùn)維,僅僅有監(jiān)控系統(tǒng)還是不夠的,必須建立新的運(yùn)維體系,并使運(yùn)維人員具備新的技能,在系統(tǒng)遷移的事前、事中、事后實(shí)施全面的監(jiān)控。
正如飛行員在飛上藍(lán)天之前必須做大量模擬訓(xùn)練,要建立新的運(yùn)維體系,讓運(yùn)維團(tuán)隊(duì)實(shí)現(xiàn)從集中式到分布式環(huán)境的轉(zhuǎn)變,就必須在系統(tǒng)投產(chǎn)前進(jìn)行大量的實(shí)兵演練,以轉(zhuǎn)換工作方式,勝任新平臺的運(yùn)維工作。
為此,必須建立一套盡可能接近真實(shí)的模擬環(huán)境,部署真實(shí)的服務(wù)器集群、數(shù)據(jù)庫、應(yīng)用軟件和監(jiān)控系統(tǒng),還要有真實(shí)的數(shù)據(jù)流量輸入。某大型銀行在核心系統(tǒng)者投產(chǎn)之前,提前搭建了高仿真系統(tǒng),與真實(shí)環(huán)境近乎1:1,用于模擬上線后的新核心系統(tǒng),以訓(xùn)練運(yùn)維人員學(xué)習(xí)和適應(yīng)新平臺。
華青融天鷹眼系統(tǒng)在高仿真環(huán)境下,扮演了仿真工具和監(jiān)控工具的雙重角色,成為了運(yùn)維團(tuán)隊(duì)的好幫手。
挑戰(zhàn)之三:如何快速定位故障節(jié)點(diǎn)
在業(yè)務(wù)系統(tǒng)運(yùn)行中,交易的異常會(huì)直觀體現(xiàn)在應(yīng)用節(jié)點(diǎn),但經(jīng)常是由于數(shù)據(jù)庫、REDIS等節(jié)點(diǎn)異常導(dǎo)致的,比如熱點(diǎn)賬戶導(dǎo)致數(shù)據(jù)庫響應(yīng)時(shí)間上升,進(jìn)而引起交易響應(yīng)時(shí)間上升。
這個(gè)問題主要通過華青融天鷹眼系統(tǒng)的全鏈路解碼來解決。X86核心下移節(jié)點(diǎn)間的通訊涉及多種報(bào)文格式,包括XML報(bào)文、HTTP報(bào)文、MYSQL報(bào)文、REDIS報(bào)文、定長報(bào)文等。通過將全部節(jié)點(diǎn)接入鷹眼交易監(jiān)控系統(tǒng),針對每一個(gè)IP配置告警,可以在集群運(yùn)行正常但單臺設(shè)備異常時(shí)產(chǎn)生告警,第一時(shí)間定位異常節(jié)點(diǎn)。
同時(shí),可以利用鷹眼交易監(jiān)控系統(tǒng)的多維分析功能,比對每類節(jié)點(diǎn)的運(yùn)行趨勢曲線來判斷故障節(jié)點(diǎn)。比如,交易在一段時(shí)間內(nèi)響應(yīng)時(shí)間升高,可以分別查看REDIS、PROXY、數(shù)據(jù)庫等節(jié)點(diǎn)的響應(yīng)時(shí)間曲線,如果和交易響應(yīng)曲線趨勢一致,說明此類節(jié)點(diǎn)存在響應(yīng)時(shí)間高的情況。
挑戰(zhàn)之四:如何跟蹤交易在各節(jié)點(diǎn)的處理情況
在個(gè)別交易出現(xiàn)異常,或進(jìn)行交易性能調(diào)優(yōu)時(shí),運(yùn)維團(tuán)隊(duì)需要短時(shí)間內(nèi)分析出該交易在各節(jié)點(diǎn)的耗時(shí)、訪問了哪些數(shù)據(jù)庫表、執(zhí)行了什么操作,等等。
通過華青融天鷹眼監(jiān)控系統(tǒng)的交易追蹤功能,可以將業(yè)務(wù)系統(tǒng)全鏈路串接起來,實(shí)現(xiàn)交易追蹤的功能。通過在各節(jié)點(diǎn)通訊報(bào)文中增加全局流水號,以全局流水號標(biāo)識每一筆交易,將報(bào)文中的全局流水號解碼后,通過全局流水號跟蹤一筆交易的整個(gè)執(zhí)行過程,打開了復(fù)雜分布式集群和應(yīng)用系統(tǒng)的黑箱,讓一切過程一目了然。
這項(xiàng)技術(shù)非常適合判斷交易的耗時(shí)點(diǎn)。比如,數(shù)據(jù)庫節(jié)點(diǎn)單條語句執(zhí)行時(shí)間很短,但如果一筆交易頻繁訪問數(shù)據(jù)庫,累計(jì)的總時(shí)間會(huì)加長,通過全局流水號串接后,就可以看到交易訪問數(shù)據(jù)庫的次數(shù)和總耗時(shí),進(jìn)而可以分析出問題點(diǎn)。
挑戰(zhàn)之五:解決數(shù)據(jù)庫分片的處理性能差異
金融級分布式數(shù)據(jù)庫的采用,是銀行核心系統(tǒng)分布化的重點(diǎn)。在數(shù)據(jù)庫實(shí)現(xiàn)分布化以后,數(shù)據(jù)庫節(jié)點(diǎn)各分片訪問量是否均勻、響應(yīng)時(shí)間是否一致、是否存在頻繁訪問的單分片表等,就成為運(yùn)維團(tuán)隊(duì)必須密切關(guān)注的問題。
解決數(shù)據(jù)庫各分片處理性能差異,可以通過華青融天鷹眼監(jiān)控系統(tǒng)的SQL語義解析來定位問題。將SQL語句中的執(zhí)行操作、訪問的數(shù)據(jù)庫表、WHERE條件、全局流水號等元素進(jìn)行解析,通過多維分析找出訪問量最高的表、執(zhí)行最頻繁的操作和耗時(shí)等情況,從而讓SQL語句在節(jié)點(diǎn)間的執(zhí)行軌跡直觀呈現(xiàn),為解決故障和調(diào)優(yōu)性能提供了客觀依據(jù)。
榜單收錄、高管收錄、融資收錄、活動(dòng)收錄可發(fā)送郵件至news#citmt.cn(把#換成@)。
海報(bào)生成中...