亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于消息隊(duì)列的前置系統(tǒng)數(shù)據(jù)庫(kù)同步轉(zhuǎn)異步方案設(shè)計(jì)

        2023-01-30 13:22:30付霞
        微型電腦應(yīng)用 2022年12期
        關(guān)鍵詞:數(shù)據(jù)庫(kù)系統(tǒng)

        付霞

        (上海杉達(dá)學(xué)院,信息學(xué)院, 上海 201209)

        0 引言

        目前我國(guó)的金融系統(tǒng)領(lǐng)域電子化趨勢(shì)領(lǐng)跑全球,支付電子化已深入到我們老百姓日常生活的方方面面,可以說(shuō),我們的日常生活已經(jīng)離不開(kāi)電子化的支付方式了,因此支付領(lǐng)域的安全與高可用已經(jīng)上升到國(guó)家安全層面了,每個(gè)金融機(jī)構(gòu)在監(jiān)管的要求下,都在不遺余力的提升自己系統(tǒng)的安全性與穩(wěn)定性[1],確保系統(tǒng)的高可用。同時(shí),面對(duì)日趨激烈的市場(chǎng)競(jìng)爭(zhēng)環(huán)境,各金融機(jī)構(gòu)還需要確保自己系統(tǒng)的客戶體驗(yàn)要好,以免造成客戶的流失。因此,各機(jī)構(gòu)電子銀行渠道針對(duì)客戶開(kāi)放的渠道也是越來(lái)越多,就拿普通的城商行來(lái)說(shuō),目前至少存在以下渠道[2]:微信、支付寶、銀聯(lián)、客服、電話銀行、手機(jī)銀行、網(wǎng)上銀行、柜面、ATM、短信。同時(shí),金融機(jī)構(gòu)內(nèi)部還存在類似核心系統(tǒng)、客戶管理系統(tǒng)、審批系統(tǒng)、授信系統(tǒng)、差錯(cuò)調(diào)賬系統(tǒng)等等各類功能性系統(tǒng),這些系統(tǒng)往往都是獨(dú)立的子系統(tǒng),各系統(tǒng)需要與前端渠道進(jìn)行交互,同時(shí)各系統(tǒng)之間又存在互相調(diào)用的情況。而為了保證各系統(tǒng)核心部分功能的獨(dú)立性,往往都會(huì)建設(shè)一套獨(dú)立的前置系統(tǒng)(FES),該系統(tǒng)主要負(fù)責(zé)報(bào)文的路由控制、通訊協(xié)議轉(zhuǎn)換、報(bào)文格式轉(zhuǎn)換、事務(wù)一致性控制、分對(duì)總接入、密鑰等安全管理等[3-4]。該系統(tǒng)作為各系統(tǒng)的入口,控制著各系統(tǒng)的流量,因此該系統(tǒng)的健壯性及高可用對(duì)于金融機(jī)構(gòu)的業(yè)務(wù)開(kāi)展至關(guān)重要。

        1 現(xiàn)狀分析

        1.1 FES常見(jiàn)架構(gòu)說(shuō)明

        如圖1所示,渠道端對(duì)接客戶或內(nèi)部工作人員,將不同的業(yè)務(wù)轉(zhuǎn)成不同的聯(lián)機(jī)交易發(fā)送至FES的不同通信模塊,通常FES支持的通信方式有TCP長(zhǎng)連接(單雙工)、TCP短連接、HTTP(S)、MQ等[4],通信模塊將接收到的完整報(bào)文發(fā)送至路由模塊的消息隊(duì)列[5-6];路由模塊根據(jù)不同的業(yè)務(wù)類型將報(bào)文轉(zhuǎn)發(fā)至不同的業(yè)務(wù)處理模塊所對(duì)應(yīng)的消息隊(duì)列中;各業(yè)務(wù)模塊完成相應(yīng)的業(yè)務(wù)邏輯處理后,將報(bào)文發(fā)送至對(duì)應(yīng)核心系統(tǒng)的通信模塊的消息隊(duì)列中,通信模塊負(fù)責(zé)將報(bào)文送至對(duì)應(yīng)的核心業(yè)務(wù)系統(tǒng),完成請(qǐng)求報(bào)文的整個(gè)鏈路。核心業(yè)務(wù)系統(tǒng)處理完請(qǐng)求報(bào)文后,通常會(huì)有響應(yīng)報(bào)文返回,而且響應(yīng)報(bào)文一般需要按照原路進(jìn)行返回如圖2所示。

        圖1 FCS常見(jiàn)架構(gòu)

        其中FES各進(jìn)程之間通過(guò)消息隊(duì)列進(jìn)行信息交互,業(yè)務(wù)處理模塊需要跟數(shù)據(jù)庫(kù)進(jìn)行交互。

        1.2 FES的數(shù)據(jù)庫(kù)交互操作說(shuō)明

        FES的功能主要是路由控制、通信協(xié)議轉(zhuǎn)換、報(bào)文格式轉(zhuǎn)換、事務(wù)一致性控制、分對(duì)總接入、密鑰管理。因?yàn)榛緵](méi)有業(yè)務(wù)數(shù)據(jù)需要保存,那么FES使用數(shù)據(jù)庫(kù)的主要目的是為了滿足其中的路由控制和事務(wù)一致性控制功能需要。

        以其中的路由控制為例,因?yàn)橐_保交易的原路返回,所以在接收到請(qǐng)求報(bào)文時(shí)需要將請(qǐng)求的信息先記錄到數(shù)據(jù)庫(kù)中(需要進(jìn)行insert和update操作),響應(yīng)報(bào)文回來(lái)時(shí),需要通過(guò)查詢數(shù)據(jù)庫(kù)來(lái)匹配到原請(qǐng)求報(bào)文(需要select操作),進(jìn)而找到響應(yīng)報(bào)文的返回路由信息進(jìn)行原路返回,如圖2所示。

        圖2 交易鏈路及數(shù)據(jù)庫(kù)交互

        1.3 FES的雪崩效應(yīng)產(chǎn)生原因分析

        雪崩效應(yīng)[7]通常指的是:起初只是一個(gè)小小的擾動(dòng),但是事態(tài)發(fā)展越來(lái)越嚴(yán)重,往往成幾何級(jí)數(shù)增長(zhǎng)。而對(duì)于一個(gè)IT系統(tǒng)來(lái)說(shuō),當(dāng)一筆業(yè)務(wù)所經(jīng)過(guò)的鏈路中出現(xiàn)A資源等待時(shí),會(huì)造成該筆業(yè)務(wù)耗時(shí)過(guò)長(zhǎng),同時(shí)后續(xù)業(yè)務(wù)因此出現(xiàn)排隊(duì)等待現(xiàn)象,因后續(xù)業(yè)務(wù)也需要占用其他的系統(tǒng)資源如B、C等,進(jìn)而造成B、C資源的不足,最終導(dǎo)致整個(gè)系統(tǒng)各模塊均不可用,這就是IT系統(tǒng)的雪崩效應(yīng)。

        而FES的運(yùn)行需要依賴硬件、操作系統(tǒng)平臺(tái)及數(shù)據(jù)庫(kù),一般來(lái)說(shuō),因?yàn)橛布梢愿鶕?jù)需要進(jìn)行升級(jí),操作系統(tǒng)一般不會(huì)是IT系統(tǒng)的瓶頸,所以對(duì)于FES來(lái)說(shuō),數(shù)據(jù)庫(kù)往往是瓶頸所在,也是雪崩效應(yīng)產(chǎn)生的根源(對(duì)于某些業(yè)務(wù),可能會(huì)使用到加密機(jī),加密機(jī)往往也是瓶頸所在,本文不討論對(duì)于加密機(jī)訪問(wèn)瓶頸的優(yōu)化)。

        如圖3所示,當(dāng)數(shù)據(jù)庫(kù)響應(yīng)慢的時(shí)候,路由模塊還會(huì)持續(xù)不斷往消息隊(duì)列B發(fā)送報(bào)文,如果消息隊(duì)列B被堵滿的話,路由模塊則無(wú)法繼續(xù)工作;進(jìn)而導(dǎo)致消息隊(duì)列A的報(bào)文無(wú)法處理,這又會(huì)導(dǎo)致消息隊(duì)列A被堵滿;進(jìn)而導(dǎo)致通信模塊無(wú)法繼續(xù)工作,通信模塊如果是短連接的話,因?yàn)閳?bào)文沒(méi)能及時(shí)返回,進(jìn)而導(dǎo)致連接池資源很快被占滿,這個(gè)時(shí)候整個(gè)FES將無(wú)法對(duì)外提供服務(wù),產(chǎn)生雪崩效應(yīng)。

        圖3 FES雪崩效應(yīng)圖

        2 原因分析及解決方案探討

        2.1 同步與異步機(jī)制

        通過(guò)上面的說(shuō)明可以看出,F(xiàn)ES系統(tǒng)之所以會(huì)產(chǎn)生瓶頸及雪崩效應(yīng),主要在于鏈路上存在資源依賴,尤其是數(shù)據(jù)庫(kù)資源,而一旦數(shù)據(jù)庫(kù)資源得不到滿足,整個(gè)鏈路都被迫處于等待。這時(shí)我們把數(shù)據(jù)庫(kù)與應(yīng)用之間的交互機(jī)制稱為同步機(jī)制。

        同步就相當(dāng)于是當(dāng)客戶端發(fā)送請(qǐng)求給服務(wù)端,在等待服務(wù)端響應(yīng)的請(qǐng)求時(shí),客戶端不做其他的事情。異步就是當(dāng)客戶端發(fā)送給服務(wù)端請(qǐng)求時(shí),在等待服務(wù)端響應(yīng)的時(shí)候,客戶端可以做其他的事情。

        如果FES的數(shù)據(jù)庫(kù)訪問(wèn)能夠?qū)⑼綑C(jī)制轉(zhuǎn)換為異步機(jī)制[8],那么就可以解決FES目前碰到的問(wèn)題了。

        2.2 同步轉(zhuǎn)異步的2個(gè)問(wèn)題

        要解決FES的同步轉(zhuǎn)異步的問(wèn)題,需要解決以下2個(gè)問(wèn)題。

        (1) 業(yè)務(wù)數(shù)據(jù)的低敏

        同步轉(zhuǎn)異步以后,那么也就意味著原業(yè)務(wù)在數(shù)據(jù)庫(kù)操作可能失敗的情況下會(huì)繼續(xù)進(jìn)行,也就是要保證這些業(yè)務(wù)數(shù)據(jù)丟失也不會(huì)對(duì)業(yè)務(wù)造成賬務(wù)上的影響。而FES系統(tǒng)因?yàn)槭寝D(zhuǎn)接系統(tǒng),不直接保留業(yè)務(wù)數(shù)據(jù),所以,即使是insert或commit失敗,也僅僅是應(yīng)答報(bào)文回來(lái)后,select不到原交易而無(wú)法正常返回,丟失一筆交易。而金融IT系統(tǒng)對(duì)此類異常情況都會(huì)有對(duì)賬與調(diào)賬機(jī)制相配套,因此FES對(duì)于業(yè)務(wù)數(shù)據(jù)來(lái)說(shuō)是屬于低敏的。

        (2) 緩存機(jī)制

        同步要轉(zhuǎn)異步,那么必須要有緩存機(jī)制,在數(shù)據(jù)庫(kù)響應(yīng)慢時(shí)將所有的數(shù)據(jù)庫(kù)操作先緩存起來(lái)。比較簡(jiǎn)單輕量化的緩存機(jī)制可以采用Linux操作系統(tǒng)提供的消息隊(duì)列。

        2.3 大型數(shù)據(jù)庫(kù)與內(nèi)存數(shù)據(jù)庫(kù)的雙數(shù)據(jù)庫(kù)設(shè)計(jì)

        雖然通過(guò)緩存機(jī)制解決了偶爾數(shù)據(jù)庫(kù)響應(yīng)慢的情況,但是還存在更極端的情況如數(shù)據(jù)庫(kù)長(zhǎng)時(shí)間響應(yīng)慢或者不可用的話,這時(shí)也會(huì)導(dǎo)致應(yīng)用與數(shù)據(jù)庫(kù)之間設(shè)立的緩存空間被占滿,進(jìn)而導(dǎo)致系統(tǒng)完全不可用狀態(tài),所以,如果能夠使用雙數(shù)據(jù)庫(kù)來(lái)進(jìn)行熱備的話,則可進(jìn)一步提高系統(tǒng)的健壯性和高可用性。

        3 數(shù)據(jù)庫(kù)同步轉(zhuǎn)異步的實(shí)現(xiàn)方案說(shuō)明

        3.1 數(shù)據(jù)庫(kù)同步轉(zhuǎn)異步架構(gòu)說(shuō)明

        原FES業(yè)務(wù)處理模塊與數(shù)據(jù)庫(kù)之間交互是通過(guò)數(shù)據(jù)庫(kù)本身提供的API進(jìn)行交互。新的架構(gòu)里面,F(xiàn)ES業(yè)務(wù)處理模塊將根據(jù)新增的數(shù)據(jù)庫(kù)管理模塊設(shè)計(jì)提供的API進(jìn)行報(bào)文組裝,并且將組裝好的報(bào)文發(fā)送到消息隊(duì)列,不直接與數(shù)據(jù)庫(kù)管理模塊進(jìn)行通信。數(shù)據(jù)庫(kù)管理模塊通過(guò)從消息隊(duì)列獲取需要處理的報(bào)文,并優(yōu)先將數(shù)據(jù)庫(kù)請(qǐng)求發(fā)往主數(shù)據(jù)庫(kù)進(jìn)行處理。如果數(shù)據(jù)庫(kù)管理模塊判斷當(dāng)前主數(shù)據(jù)庫(kù)狀態(tài)異常,則后續(xù)將數(shù)據(jù)庫(kù)請(qǐng)求發(fā)往備數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)管理模塊根據(jù)設(shè)定的時(shí)間對(duì)狀態(tài)異常的主數(shù)據(jù)庫(kù)再次進(jìn)行判定。其中主數(shù)據(jù)庫(kù)一般使用比較大型的商用數(shù)據(jù)庫(kù)軟件,如Oracle、DB2、Informix等。備數(shù)據(jù)庫(kù)一般采用開(kāi)源免費(fèi)的內(nèi)存數(shù)據(jù)庫(kù),如SQLite[9]等。備數(shù)據(jù)庫(kù)一般是在主數(shù)據(jù)庫(kù)狀態(tài)異常時(shí)才會(huì)暫時(shí)接管數(shù)據(jù)庫(kù)請(qǐng)求。對(duì)于響應(yīng)報(bào)文回來(lái)的select操作,一般也是優(yōu)先到主數(shù)據(jù)庫(kù)中進(jìn)行查詢,如果搜索不到則到備數(shù)據(jù)庫(kù)中再次進(jìn)行查詢。

        3.2 雙數(shù)據(jù)庫(kù)下的數(shù)據(jù)庫(kù)連接池說(shuō)明

        為了提高業(yè)務(wù)處理能力,數(shù)據(jù)庫(kù)管理模塊會(huì)根據(jù)業(yè)務(wù)量動(dòng)態(tài)地對(duì)直接與數(shù)據(jù)庫(kù)進(jìn)行交互的進(jìn)程DBAP的數(shù)量進(jìn)行管理(見(jiàn)圖4),每個(gè)DBAP都會(huì)采用競(jìng)爭(zhēng)模式從同一個(gè)消息隊(duì)列里面獲取報(bào)文并與數(shù)據(jù)庫(kù)進(jìn)行交互后,將獲得的數(shù)據(jù)庫(kù)返回信息按照約定的API進(jìn)行報(bào)文組裝,并發(fā)送到指定的消息隊(duì)列中。每個(gè)DBAP都具有與雙數(shù)據(jù)庫(kù)進(jìn)行通信的能力,所以將這些DBAP的組合稱為雙數(shù)據(jù)庫(kù)下的數(shù)據(jù)庫(kù)連接池。

        圖4 數(shù)據(jù)庫(kù)同步轉(zhuǎn)異步的設(shè)計(jì)架構(gòu)圖

        4 總結(jié)

        本文主要介紹了金融系統(tǒng)中非常常見(jiàn)的一種IT系統(tǒng)前置系統(tǒng)的常見(jiàn)架構(gòu)模式,基于該架構(gòu)模式下,又說(shuō)明了數(shù)據(jù)庫(kù)訪問(wèn)性能瓶頸會(huì)導(dǎo)致的整個(gè)系統(tǒng)的雪崩效應(yīng)是如何產(chǎn)生的,為了解決這種性能瓶頸與雪崩效應(yīng)現(xiàn)象,分析了原因并指出通過(guò)將數(shù)據(jù)庫(kù)的訪問(wèn)模式從同步轉(zhuǎn)成異步即可,而為了對(duì)數(shù)據(jù)庫(kù)進(jìn)行同步轉(zhuǎn)異步,又說(shuō)明了必須具備的前提條件,最后,提出了解決方案并對(duì)解決方案進(jìn)行了詳細(xì)闡述。同時(shí),本解決方案所提出的問(wèn)題解決思路在前置類系統(tǒng)中很多需要調(diào)用外部資源的場(chǎng)景下都有較好的通用性,如加密機(jī)資源瓶頸等。

        猜你喜歡
        數(shù)據(jù)庫(kù)系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        国产WW久久久久久久久久| 亚洲国产日韩欧美综合a| 久久精品免费一区二区三区 | 45岁妇女草逼视频播放| 妺妺窝人体色www聚色窝| 成年男女免费视频网站| 久久久高清免费视频| 亚洲午夜精品第一区二区| 国产在线精品一区二区三区| 青青草97国产精品免费观看| 国产免费网站看v片元遮挡| 国产精品女同二区五区九区| 午夜天堂一区人妻| 中文字幕精品一二三四五六七八| 99热门精品一区二区三区无码| 成人免费播放片高清在线观看| 丝袜美腿福利一区二区| 双腿张开被9个男人调教| 欧美在线成人午夜网站| 全程国语对白资源在线观看| 白嫩丰满少妇av一区二区| 公粗挺进了我的密道在线播放贝壳| 国产成人亚洲精品电影| 在线观看高清视频一区二区三区| 国产午夜免费高清久久影院| 成人无码一区二区三区网站| 精品国免费一区二区三区| 亚洲不卡av一区二区三区四区| 人妻插b视频一区二区三区| 国产精品video| 少妇一区二区三区乱码| 日韩少妇人妻中文字幕| 成人区人妻精品一熟女| 亚洲男人天堂av在线| 久久夜色精品国产噜噜噜亚洲av| 午夜免费福利小电影| 麻豆国产成人精品午夜视频 | 久久一区二区av毛片国产| 免费人成在线观看网站| 双腿张开被9个黑人调教影片| 日本最新一区二区三区视频|