大家好,我是落雨塵画畅,今天我們來(lái)聊一聊銀行前置系統(tǒng)砸琅,還是隨便聊點(diǎn)兒。
作為曾經(jīng)銀行前置系統(tǒng)的全棧型工程師轴踱,有一段時(shí)間沉浸甚至是沉迷在寫“交易”的快樂(lè)中症脂。由于受系統(tǒng)和眼界所限,這里所寫的銀行前置系統(tǒng),更多的是基于中小型商業(yè)銀行的系統(tǒng)架構(gòu)诱篷。
我們今天聊的金融前置系統(tǒng)壶唤,更多是依托銀行的業(yè)務(wù)背景下進(jìn)行描述。
前置系統(tǒng)是什么
所謂前置系統(tǒng)棕所,顧名思義闸盔,置于前面的平臺(tái)系統(tǒng)都可以稱為前置系統(tǒng)。
今天老李為了周轉(zhuǎn)資金琳省,要去找銀行貸款迎吵,來(lái)到銀行大廳被告知先要進(jìn)行征信查詢,在大廳找到一臺(tái)征信查詢機(jī)针贬,輸入個(gè)人信息點(diǎn)擊查詢击费,幾秒后老李就在屏幕上看到了自己所有的征信內(nèi)容。
這個(gè)查詢機(jī)坚踩,就是一種前置機(jī)荡灾,TA部署在各個(gè)銀行大廳,后臺(tái)通過(guò)專線連接著征信中心的后臺(tái)系統(tǒng)瞬铸。指令信息通過(guò)銀行系統(tǒng)的處理再經(jīng)過(guò)這個(gè)前置系統(tǒng)進(jìn)行數(shù)據(jù)傳輸批幌,最終拿到征信中心的數(shù)據(jù)并展示在屏幕上。
快過(guò)年了嗓节,騙子們也要張羅年貨荧缘。這不劉大媽剛被電信詐騙了,她趕緊給自己開(kāi)戶的銀行打電話拦宣,銀行客服進(jìn)行了快速止付的操作后截粗,劉大媽的錢得以被凍結(jié),沒(méi)有匯入到騙子的賬戶內(nèi)鸵隧。
針對(duì)電信詐騙绸罗,公安部和人民銀行聯(lián)合部署了一套防控系統(tǒng),這套系統(tǒng)同樣擁有前置機(jī)豆瘫,TA部署在各銀行網(wǎng)點(diǎn)珊蟀,通過(guò)金融城域網(wǎng)接入公安部后臺(tái)系統(tǒng)。
每天銀行可通過(guò)這臺(tái)前置機(jī)查詢客戶的身份信息是否在電信詐騙的黑名單中外驱;同時(shí)公安部每天也會(huì)將涉及該銀行的電信詐騙相關(guān)信息推送在這臺(tái)前置機(jī)上育灸,供銀行查閱處理。
公司會(huì)計(jì)小張每天都要統(tǒng)計(jì)公司賬戶出入賬情況昵宇,每天下班前磅崭,他都會(huì)打開(kāi)銀行專用的軟件,選擇要查詢的公司賬戶瓦哎,點(diǎn)擊查詢后砸喻,幾秒后就能看到今天該賬戶的進(jìn)出資金明細(xì)柔逼。
小張使用的其實(shí)就是銀行針對(duì)企業(yè)的銀企直聯(lián)的前置接口軟件,這種軟件往往部署在各公司的電腦上恩够,需要u-key的認(rèn)證卒落,通過(guò)互聯(lián)網(wǎng)或者專線接入到銀行前置系統(tǒng)。每次公司客戶在軟件操作后蜂桶,數(shù)據(jù)通過(guò)前置接口軟件傳輸?shù)姐y行前置系統(tǒng)儡毕,最終拿到業(yè)務(wù)數(shù)據(jù)返回到企業(yè)客戶的電腦上。
以上三種場(chǎng)景下扑媚,前置系統(tǒng)可以是一臺(tái)機(jī)器搭載著接口軟件腰湾,也可以僅僅是一款軟件安裝在任何一臺(tái)電腦上。TA更多的工作是用來(lái)連接兩邊系統(tǒng)疆股,身份驗(yàn)證费坊、接收指令、傳輸數(shù)據(jù)...
銀行為什么需要前置系統(tǒng)
傳統(tǒng)銀行系統(tǒng)更像是手動(dòng)記賬的延續(xù)旬痹,在系統(tǒng)設(shè)計(jì)也是點(diǎn)對(duì)點(diǎn)的處理模式附井,即前臺(tái)(柜臺(tái))輸入,后臺(tái)(核心系統(tǒng))記賬两残。如果需要有外聯(lián)系統(tǒng)的永毅,由后臺(tái)直接聯(lián)動(dòng)外聯(lián)系統(tǒng)的一個(gè)軟件或前置機(jī),將請(qǐng)求發(fā)出去人弓。這種系統(tǒng)框架安裝實(shí)施方便沼死、部署快捷,供規(guī)模較小的銀行使用崔赌,足以滿足其需要意蛀。
但隨著銀行規(guī)模的擴(kuò)大,現(xiàn)有的系統(tǒng)模式越發(fā)的滿足不了區(qū)域性業(yè)務(wù)的差異性復(fù)雜性健芭。尤其是客戶端種類的創(chuàng)新县钥,各種自助終端、移動(dòng)端接入層出不窮慈迈,以往的銀行架構(gòu)牽一發(fā)而動(dòng)全身魁蒜,升級(jí)優(yōu)化都造成了很大的不便。
于是吩翻,漸漸的我們把系統(tǒng)中用來(lái)與外部通訊的、身份校驗(yàn)的锥咸、加密驗(yàn)簽的等等功能都剝離出來(lái)狭瞎,讓原本的后臺(tái)(核心系統(tǒng))更專注于銀行業(yè)務(wù)的本質(zhì)工作(記賬)。
這些剝離出來(lái)的功能搏予,組合在一起就形成了前置系統(tǒng)熊锭。
銀行前置系統(tǒng)在什么位置、能做什么
就如之前所說(shuō)的,銀行的前置系統(tǒng)是連接兩邊系統(tǒng)碗殷,期間進(jìn)行身份驗(yàn)證精绎、接收指令、傳輸數(shù)據(jù)锌妻、后臺(tái)調(diào)度等工作代乃。
前置系統(tǒng)獨(dú)立出來(lái)之后,慢慢的仿粹,銀行的架構(gòu)變成“前端(柜臺(tái)搁吓、ATM、網(wǎng)銀等)-前置-后臺(tái)”吭历,前端發(fā)起的交易指令堕仔,由前置統(tǒng)一接入,并進(jìn)行報(bào)文格式校驗(yàn)晌区、解密驗(yàn)簽等工作摩骨,之后將業(yè)務(wù)信息組成銀行核心系統(tǒng)需要的報(bào)文格式,統(tǒng)一調(diào)度核心系統(tǒng)交易接口完成交易處理朗若。
同時(shí)前置還負(fù)責(zé)與外聯(lián)的渠道(銀聯(lián)恼五、網(wǎng)聯(lián)、二付支付捡偏、征信中心等等)接入唤冈,所有外聯(lián)系統(tǒng)只需要跟前置做接口,包括消息報(bào)文接口银伟、文件傳輸接口你虹,簡(jiǎn)化了后臺(tái)業(yè)務(wù)處理接口。
對(duì)于全國(guó)性銀行系統(tǒng)架構(gòu)主要體現(xiàn)在區(qū)域的前置分級(jí)和后臺(tái)的業(yè)務(wù)系統(tǒng)化上彤避,一般采用“前臺(tái)-市級(jí)渠道前置-省級(jí)渠道前置(-地方性業(yè)務(wù)系統(tǒng))-綜合大前置-各個(gè)業(yè)務(wù)系統(tǒng)”傅物,省市級(jí)渠道前置除了分擔(dān)龐大的交易連接壓力外,還擔(dān)任了級(jí)聯(lián)架構(gòu)中地方獨(dú)有業(yè)務(wù)的大前置角色琉预,對(duì)于它來(lái)說(shuō)董饰,地方性業(yè)務(wù)系統(tǒng)就是本級(jí)的后臺(tái)。
綜合大前置包容了前置的交易統(tǒng)一調(diào)度功能圆米,還把后臺(tái)的一些公共的業(yè)務(wù)邏輯處理移過(guò)來(lái)卒暂,一方面以減少與后臺(tái)的交互環(huán)節(jié),另一方面也達(dá)到基礎(chǔ)數(shù)據(jù)統(tǒng)一管理娄帖。
前置系統(tǒng)功能模式
這里需要將前置系統(tǒng)分成兩個(gè)功能部分來(lái)說(shuō)也祠,一部分是渠道功能,一部分是大前置的業(yè)務(wù)處理近速、流程調(diào)試功能诈嘿。
渠道功能
這部分主要實(shí)現(xiàn)了通訊接入和渠道報(bào)文轉(zhuǎn)換的功能堪旧。面對(duì)各種各樣的通訊方式和報(bào)文格式,前置系統(tǒng)既要“海納百川”又要“雜而不亂”奖亚,需要具有一定的靈活性和擴(kuò)展性淳梦。
通訊方面,傳統(tǒng)銀行以及與外聯(lián)單位間使用的協(xié)議和中間件主要是TCP昔字、IBM MQ爆袍、CICS、Tuxedo李滴、SNA等螃宙。由于銀行間大部分的數(shù)據(jù)是流轉(zhuǎn)于金融城域網(wǎng)的(各運(yùn)營(yíng)商的金融專線),所以對(duì)于通訊安全這塊兒有了一定的保障所坯。
其中TCP就是簡(jiǎn)單的建立一個(gè)Socket谆扎,點(diǎn)對(duì)點(diǎn)的連接互發(fā)消息;IBM MQ更是央媽推的產(chǎn)品芹助,所以大家也都在用堂湖;剩下的幾個(gè)用的相對(duì)較少了,我當(dāng)時(shí)就一直在使用Tuxedo状土,不過(guò)也就停留在建好通道消息能通的基礎(chǔ)使用程度无蜂,維護(hù)上實(shí)在不敢造次,更別提改造和開(kāi)發(fā)了蒙谓。
隨著技術(shù)框架的發(fā)展和革新斥季,一些開(kāi)源的中間件Rabbit MQ、Kafka等也漸漸的在對(duì)老的體系進(jìn)行著替換累驮,有些技術(shù)服務(wù)商的成熟產(chǎn)品比如金證的kcxp酣倾、先進(jìn)數(shù)通的Starring平臺(tái)等等也有著不俗的表現(xiàn)。
報(bào)文方面谤专,主要使用的是固定長(zhǎng)度格式躁锡、分隔符格式、8583格式置侍、XML格式等等映之。
固定長(zhǎng)度格式報(bào)文,優(yōu)點(diǎn)在于簡(jiǎn)單蜡坊,打包解包速度快杠输;缺點(diǎn)是可能會(huì)浪費(fèi)存儲(chǔ)空間,一般用于重視處理效率的場(chǎng)景秕衙。
分隔符格式報(bào)文抬伺,節(jié)約存儲(chǔ)空間,但是打包解包速度稍慢于固定長(zhǎng)度格式灾梦,還要注意雙字節(jié)引起的解包錯(cuò)位問(wèn)題峡钓,而且還要考慮分隔符轉(zhuǎn)義,一般用于字符取值空間比較單純若河,數(shù)據(jù)域長(zhǎng)度差異性比較大的場(chǎng)景勺择。
8583格式報(bào)文冒窍,銀聯(lián)卡交易報(bào)文接口標(biāo)準(zhǔn),和銀聯(lián)打交道離不開(kāi)這個(gè)。8583報(bào)文的TLV模式可以擴(kuò)展成通用交易報(bào)文格式來(lái)使用秦躯,其中T=Tag,L=Lenth冀墨,V=Value鸠儿,其實(shí)就是數(shù)據(jù)字典和固定長(zhǎng)度格式的結(jié)合體。我覺(jué)得這是一種最直觀的最原始的標(biāo)記報(bào)文悟民,每個(gè)Tag域都代表了不同的業(yè)務(wù)含義坝辫,按照業(yè)務(wù)流程的需要,對(duì)相關(guān)域信息進(jìn)行解析即可得到需要的業(yè)務(wù)內(nèi)容射亏。
XML格式報(bào)文近忙,現(xiàn)在十分普遍了,最近幾年新的項(xiàng)目和接口大多會(huì)使用XML報(bào)文智润,這種報(bào)文可以附帶前面幾種報(bào)文格式所不能包含的大量完備信息及舍,具有自描述性、人可讀性窟绷。但它的缺點(diǎn)也是比較明顯的锯玛,就是“體積”偏大,打包解包速度慢兼蜈,同時(shí)編碼難度和繁復(fù)度也比以上幾種格式都要大一些攘残。
最后再說(shuō)一種,JSON報(bào)文饭尝,準(zhǔn)確的說(shuō)應(yīng)該是key-value格式報(bào)文肯腕,這種報(bào)文體量小、結(jié)構(gòu)簡(jiǎn)單清晰钥平、便于解析实撒,尤其是在各技術(shù)框架的大力支持下,越來(lái)越多的系統(tǒng)間交互都采用了這種格式進(jìn)行數(shù)據(jù)傳輸涉瘾。特別是在webservice知态、restful接口以及微服務(wù)調(diào)用的“風(fēng)靡”下,大有可為立叛。
業(yè)務(wù)調(diào)度功能
業(yè)務(wù)調(diào)度负敏,或者說(shuō)是交易路由更形象一些。
核心思想就是根據(jù)接收到的報(bào)文中交易碼以及其他業(yè)務(wù)信息秘蛇,判斷需要調(diào)用后臺(tái)的哪一個(gè)交易進(jìn)行處理其做。
交易路由的控制可以是多種形式的顶考,最省事兒的甚至可以將處理邏輯寫到代碼里,也可以通過(guò)配置文件妖泄、數(shù)據(jù)庫(kù)表等方式進(jìn)行驹沿。交易路由控制中應(yīng)盡量少的摻入業(yè)務(wù)邏輯的內(nèi)容,保證簡(jiǎn)潔蹈胡、可復(fù)用的完成一個(gè)“路由”的功能渊季。
在進(jìn)行業(yè)務(wù)調(diào)度的同時(shí),由于前端接收到的報(bào)文信息以及格式是五花八門的罚渐,前置系統(tǒng)在這兒還會(huì)將接收到的報(bào)文內(nèi)容進(jìn)行整理和轉(zhuǎn)換却汉。將后臺(tái)處理需要的信息進(jìn)行篩選和整理,并按照內(nèi)部約定好的報(bào)文格式進(jìn)行轉(zhuǎn)換輸出荷并。
這樣的模式合砂,前置系統(tǒng)相當(dāng)于一個(gè)水龍頭,進(jìn)水管可以是各種管道來(lái)水璧坟,而出水口的大小既穆、孔徑都規(guī)整成了一種規(guī)格。前置渠道和后臺(tái)只能考慮將N種外部報(bào)文轉(zhuǎn)化成一種內(nèi)部報(bào)文即可雀鹃,避免了多對(duì)多轉(zhuǎn)換的組合復(fù)雜度幻工。
前置交易設(shè)計(jì)基本原則
交易的表現(xiàn)形式千千萬(wàn)萬(wàn)種,體現(xiàn)在后臺(tái)的處理上除了各業(yè)務(wù)流程的特殊約定外黎茎,無(wú)外乎就落在“增刪改查”四個(gè)字上囊颅。
結(jié)合上面對(duì)前置系統(tǒng)的功能理解,我們針對(duì)這四處數(shù)據(jù)操作來(lái)聊一聊傅瞻。
增
首先考慮的是增的內(nèi)容踢代,前置系統(tǒng)的新增操作,主要是將接收到的數(shù)據(jù)進(jìn)行落地嗅骄,所以新增的內(nèi)容主要包括消息的通訊部分胳挎、交易明細(xì)部分以及流程標(biāo)識(shí)狀態(tài)等字段內(nèi)容。
通訊部分內(nèi)容溺森,主要是消息頭中的消息ID慕爬、版本信息、渠道類型等等內(nèi)容屏积。
交易明細(xì)內(nèi)容医窿,主要是看業(yè)務(wù)形式了,一般都會(huì)包括交易時(shí)間炊林、本方信息姥卢、對(duì)手方信息、業(yè)務(wù)信息等等。
流程標(biāo)識(shí)狀態(tài)独榴,由于前置系統(tǒng)本身主要是渠道和交易路由的功能作用僧叉,所以對(duì)每一筆交易我們既要記錄接收進(jìn)來(lái)的信息,還要記錄在整個(gè)業(yè)務(wù)周期內(nèi)這筆數(shù)據(jù)的狀態(tài)變化括眠。從接收進(jìn)來(lái)時(shí)的“初始化”彪标、“待處理”,到分發(fā)給后臺(tái)處理時(shí)的“處理中”掷豺、“已發(fā)送”,再到接收到返回信息后的“交易成功/失敗”薄声、“已接收”等等狀態(tài)信息当船,都需要在前置系統(tǒng)中記錄。
再者考慮的是增的地方默辨,包括使用的數(shù)據(jù)庫(kù)是Oracle德频、DB2還是MySQL,主要是考慮對(duì)金額字段總長(zhǎng)度和保留位數(shù)的處理缩幸、某些庫(kù)對(duì)字符集是否要特殊處理壹置、時(shí)間格式是否要進(jìn)行轉(zhuǎn)換等等。
最后考慮的是增的方式表谊,一是接數(shù)據(jù)是文件還是消息的钞护,對(duì)文件的解析落庫(kù)還是直接處理文件數(shù)據(jù)落庫(kù),消息的要考慮是哪種模式的報(bào)文以便采用對(duì)應(yīng)的解析方式進(jìn)行數(shù)據(jù)落地爆办;再者是針對(duì)數(shù)據(jù)量比較大時(shí)难咕,對(duì)系統(tǒng)的處理效率又有要求的情況下,就要考慮落庫(kù)的方式是sql語(yǔ)句的insert到表里距辆,還是import進(jìn)行數(shù)據(jù)導(dǎo)入余佃。在落庫(kù)的過(guò)程還要結(jié)合業(yè)務(wù)的整體性和系統(tǒng)效率,設(shè)定每個(gè)事務(wù)提交多少條數(shù)據(jù)跨算。
刪
金融系統(tǒng)里大多數(shù)情況下不會(huì)對(duì)數(shù)據(jù)進(jìn)行真正的刪除爆土,也就是我們說(shuō)的物理刪除。
所謂刪的動(dòng)作诸蚕,在前置系統(tǒng)中步势,更多的是將數(shù)據(jù)狀態(tài)修改為“注銷”、“失效”等挫望。
當(dāng)然還是有些業(yè)務(wù)場(chǎng)景需要真正刪除數(shù)據(jù)的立润,特別是一些業(yè)務(wù)處理流程中的中間表,還有就是一些業(yè)務(wù)允許重做多次的情況下媳板,一般在業(yè)務(wù)進(jìn)行到這一步時(shí)桑腮,都會(huì)將當(dāng)天相關(guān)的數(shù)據(jù)先進(jìn)行刪除操作,再將新的數(shù)據(jù)落地蛉幸,以避免數(shù)據(jù)的混亂導(dǎo)致處理錯(cuò)誤破讨。
改
前置系統(tǒng)中改的功能丛晦,我覺(jué)得大都體現(xiàn)在對(duì)流程的異常處理上√崽眨客戶從前端發(fā)起的交易重發(fā)是業(yè)務(wù)的異常處理烫沙;運(yùn)維人員在后臺(tái)管理柜臺(tái)上選擇的交易狀態(tài)修改也可以看作是業(yè)務(wù)流程的異常處理;對(duì)于由于網(wǎng)絡(luò)擁塞等因素造成的數(shù)據(jù)丟失隙笆,相關(guān)的業(yè)務(wù)流程無(wú)法繼續(xù)運(yùn)轉(zhuǎn)下去了锌蓄,我們同樣能技術(shù)層面可以將相關(guān)的數(shù)據(jù)狀態(tài)改成一個(gè)結(jié)束的終態(tài)。
我們還是從幾個(gè)方面來(lái)聊一聊改這個(gè)行為撑柔。
首先是改這個(gè)動(dòng)作的發(fā)起方瘸爽。客戶算是發(fā)起方之一铅忿,客戶的修改動(dòng)作更多的是對(duì)業(yè)務(wù)數(shù)據(jù)的修改剪决,比如剛做了一筆申購(gòu)交易,狀態(tài)已經(jīng)是提交成功了檀训,現(xiàn)在又發(fā)起了一筆撤單柑潦,如果前置系統(tǒng)里記錄了這一單的狀態(tài),就需要找到原交易成功的交易記錄峻凫,將其狀態(tài)撤銷掉渗鬼。技術(shù)人員和業(yè)務(wù)人員也是發(fā)起方之一,通過(guò)后臺(tái)管理柜面蔚晨,對(duì)交易記錄進(jìn)行修改乍钻,這種修改更多的就是對(duì)業(yè)務(wù)流程的控制了,將無(wú)法完成的交易修改為終態(tài)铭腕,對(duì)錯(cuò)誤的業(yè)務(wù)數(shù)據(jù)進(jìn)行修改以便后續(xù)流程可以進(jìn)行下去银择。
再者是改的內(nèi)容,哪些內(nèi)容是可以修改的累舷,這其實(shí)是一個(gè)權(quán)限問(wèn)題浩考,比如金額方面的內(nèi)容,對(duì)金額修改一定是由一個(gè)單獨(dú)的交易流程中進(jìn)行的被盈,存款析孽、撤單等等交易都對(duì)應(yīng)了金額字段的增減,這種修改不可能也不可以由運(yùn)維人員在后臺(tái)管理界面上就執(zhí)行了只怎。再比如一些交易狀態(tài)的修改袜瞬,特別是一些異步交易的狀態(tài),由狀態(tài)A能修改為狀態(tài)B身堡,能不能修改成狀態(tài)CDEF...這都是和業(yè)務(wù)流程息息相關(guān)的邓尤,不能說(shuō)是修改了狀態(tài)成“交易完成”了,結(jié)果客戶端又沒(méi)辦法收到正常正確的信息。
在設(shè)計(jì)和編寫修改類交易時(shí)汞扎,我們更多的是要注意到修改的動(dòng)作是否會(huì)影響到原交易的進(jìn)行季稳。尤其是正在進(jìn)行中,非終態(tài)的交易數(shù)據(jù)澈魄,是否在修改時(shí)有“鎖”或者“互斥”的機(jī)制景鼠。
查
對(duì)于有一定體量的金融系統(tǒng),前置系統(tǒng)所承受的最大的數(shù)據(jù)壓力一定是查詢功能痹扇。
由于對(duì)客戶需要提供全方位多樣式的服務(wù)铛漓,導(dǎo)致查詢后臺(tái)數(shù)據(jù)的條件也是各種組合各種形式。對(duì)于某些重要的業(yè)務(wù)數(shù)據(jù)表(比如客戶信息表鲫构、交易明細(xì)表等等)壓力巨大票渠,同時(shí)由于這些數(shù)據(jù)還在頻繁的進(jìn)行著新增、修改等操作芬迄,導(dǎo)致查詢交易設(shè)計(jì)不好,有可能直接影響正常的交易昂秃。
目前對(duì)查詢交易設(shè)計(jì)我覺(jué)得可以分成事前分析和事后優(yōu)化兩部分進(jìn)行禀梳。
事前分析主要集中以下幾個(gè)方面:
- 根據(jù)以往的業(yè)務(wù)經(jīng)驗(yàn),對(duì)數(shù)據(jù)量有一定的預(yù)估肠骆,采用現(xiàn)有類似的查詢模式進(jìn)行復(fù)用算途。
- 根據(jù)設(shè)定的查詢條件,做好表索引的規(guī)劃蚀腿。
- 壓力測(cè)試很重要嘴瓤,壓力測(cè)試很重要,壓力測(cè)試很重要莉钙。
事后優(yōu)化的手段就各顯神通了廓脆,業(yè)務(wù)不同,數(shù)據(jù)量不同磁玉,可以操作的空間也不盡相同停忿,主要體現(xiàn)在以下幾個(gè)方面:
- 對(duì)數(shù)據(jù)庫(kù)表索引的優(yōu)化。
- 對(duì)交易流程中耗時(shí)瓶頸的優(yōu)化蚊伞。
- 分庫(kù)分表席赂,減少單張表的數(shù)據(jù)量。
- 復(fù)制出一個(gè)查詢庫(kù)时迫,與主數(shù)據(jù)庫(kù)間做數(shù)據(jù)同步颅停,將主業(yè)務(wù)與查詢業(yè)務(wù)分別處理。
- 對(duì)整批數(shù)據(jù)采用export導(dǎo)出掠拳,以文件等形式進(jìn)行傳輸癞揉。
當(dāng)然現(xiàn)在還有各種把數(shù)據(jù)往內(nèi)存里放的,甚至還會(huì)將一些固定數(shù)據(jù)暫存到客戶端本地,以方便快速查詢并減少服務(wù)器的壓力烧董。
觀其本質(zhì)毁靶,在設(shè)計(jì)和開(kāi)發(fā)查詢交易時(shí),除開(kāi)數(shù)據(jù)的準(zhǔn)確性之外逊移,最需要考慮的就是效率問(wèn)題预吆。基于效率這個(gè)基本上胳泉,利用現(xiàn)有的技術(shù)架構(gòu)拐叉,根據(jù)業(yè)務(wù)的頻度進(jìn)行數(shù)據(jù)分離,從而達(dá)到高效的處理查詢業(yè)務(wù)扇商。
隨便聊點(diǎn)兒
整體看下來(lái)凤瘦,大家是不是有一種莫名的熟悉感。
其實(shí)前置系統(tǒng)的演變和功能劃分案铺,很像是現(xiàn)在被講來(lái)講去的微服務(wù)概念蔬芥。
伴隨著業(yè)務(wù)區(qū)域的劃分以及系統(tǒng)邊界的設(shè)定,將更多的渠道工作交給前置來(lái)做控汉,讓核心系統(tǒng)更專注于會(huì)計(jì)相關(guān)事務(wù)的處理笔诵。
同時(shí)在前置系統(tǒng)內(nèi)部,又可以依據(jù)業(yè)務(wù)線的不同和技術(shù)框架的不同姑子,對(duì)前置系統(tǒng)進(jìn)行拆份乎婿、集群化、微服務(wù)化街佑。
但萬(wàn)變不離其宗谢翎,不管中間穿透了幾層系統(tǒng),使用的多少中間件沐旨,走過(guò)了多少隊(duì)列通道森逮,我們都要用前置系統(tǒng)的本質(zhì)作用來(lái)衡量這些動(dòng)作的意義。
作為技術(shù)人員希俩,我依然倡導(dǎo)的是要以不變應(yīng)萬(wàn)變吊宋,抽絲剝繭出適合自己的精準(zhǔn)模型來(lái)設(shè)計(jì)交易、設(shè)計(jì)系統(tǒng)颜武。
好了璃搜,今天就聊到這里~