金融行業(yè)聯(lián)機(jī)交易系統(tǒng)分布式技術(shù)規(guī)范-征求意見稿_第1頁(yè)
金融行業(yè)聯(lián)機(jī)交易系統(tǒng)分布式技術(shù)規(guī)范-征求意見稿_第2頁(yè)
金融行業(yè)聯(lián)機(jī)交易系統(tǒng)分布式技術(shù)規(guī)范-征求意見稿_第3頁(yè)
金融行業(yè)聯(lián)機(jī)交易系統(tǒng)分布式技術(shù)規(guī)范-征求意見稿_第4頁(yè)
金融行業(yè)聯(lián)機(jī)交易系統(tǒng)分布式技術(shù)規(guī)范-征求意見稿_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

ICS

團(tuán)體標(biāo)準(zhǔn)

CESA-2019-2-009

金融行業(yè)聯(lián)機(jī)交易系統(tǒng)分布式技術(shù)規(guī)范

征求意見稿

Distributedtechnicalspecificationforonlinetransactionsysteminfinancialindustry

在提交反饋意見時(shí),請(qǐng)將您知道的相關(guān)專利連同支持性文件一并附上。

2019--發(fā)布2019-XX-實(shí)施

中國(guó)電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)發(fā)布

CESA-2019-2-009

前言

本標(biāo)準(zhǔn)按照GB/T1.1–2009《標(biāo)準(zhǔn)化工作導(dǎo)則第1部分:標(biāo)準(zhǔn)的結(jié)構(gòu)和編寫》給出的規(guī)則起草。

本標(biāo)準(zhǔn)由中國(guó)電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)(SAC/TC180)提出并歸口。

本標(biāo)準(zhǔn)起草單位:神州數(shù)碼融信軟件有限公司、重慶銀行股份有限公司、阜新銀行股份有限公司、

寧夏銀行股份有限公司、石嘴山銀行股份有限公司、吉林億聯(lián)銀行股份有限公司、中信百信銀行股份有

限公司。

本標(biāo)準(zhǔn)主要起草人:

III

CESA-2019-2-009

引言

互聯(lián)網(wǎng)正在深刻的影響著整個(gè)社會(huì),金融行業(yè)跟互聯(lián)網(wǎng)的對(duì)接已經(jīng)成為必然趨勢(shì),其給金融行業(yè)帶

來新的機(jī)遇的同時(shí)也帶來巨大的挑戰(zhàn),主要體現(xiàn)在:

?大并發(fā):由于基于互聯(lián)網(wǎng)上的用戶沒有地域的限制,所以系統(tǒng)的并發(fā)用戶數(shù)將大大超過傳統(tǒng)

業(yè)務(wù);

?大數(shù)據(jù)量:用戶在任何時(shí)間、任何地方都可以進(jìn)行交易,這些大量交易背后又會(huì)產(chǎn)生大量的

數(shù)據(jù);

?浪涌現(xiàn)象:一些熱門的互聯(lián)網(wǎng)產(chǎn)品,會(huì)造成客戶交易的過度集中,最典型的就是秒殺或者是

雙十一這類活動(dòng);

?快速靈活:互聯(lián)網(wǎng)加速了行業(yè)競(jìng)爭(zhēng),銀行要快速占領(lǐng)市場(chǎng)就需要自身快速靈活。

同時(shí)金融行業(yè)由于其自身的特點(diǎn),跟一般的互聯(lián)網(wǎng)企業(yè)又有著很大的區(qū)別,主要表現(xiàn)在:

?業(yè)務(wù)復(fù)雜度高:金融行業(yè)的業(yè)務(wù)不僅要滿足業(yè)務(wù)本身的要求,同時(shí)還要滿足各種監(jiān)管的強(qiáng)制

約束,同時(shí)由于涉及賬務(wù)處理,所以整體的復(fù)雜度相對(duì)純互聯(lián)網(wǎng)的業(yè)務(wù)要高很多。

?數(shù)據(jù)一致性要求高:由于大部分業(yè)務(wù)都跟賬務(wù)有關(guān),所以其對(duì)事務(wù)的一致性要求是強(qiáng)一致,

這點(diǎn)跟互聯(lián)網(wǎng)企業(yè)中使用的最終一致等其他方式是有著本質(zhì)的區(qū)別。

上述挑戰(zhàn)在金融行業(yè)的傳統(tǒng)架構(gòu)下很難解決,云計(jì)算和大數(shù)據(jù)也主要是解決通用層面的問題,跟

金融行業(yè)聯(lián)機(jī)交易系統(tǒng)的訴求還有一定距離。經(jīng)過不斷的探索,分布式技術(shù)已經(jīng)被行業(yè)認(rèn)為是解決上

述問題的有效手段,這里的分布式更多的是強(qiáng)調(diào)將分布式的理念,靈活的運(yùn)用到金融領(lǐng)域的具體業(yè)務(wù)

場(chǎng)景,解決具體問題,并不是簡(jiǎn)單的引入一些現(xiàn)成技術(shù)。

本標(biāo)準(zhǔn)為金融行業(yè)采用分布式技術(shù)建設(shè)聯(lián)機(jī)交易系統(tǒng)提供規(guī)范性指導(dǎo),明確分布式應(yīng)覆蓋的層面,

以及在具體層面應(yīng)具備的基礎(chǔ)功能。

CESA-2019-2-009

金融行業(yè)聯(lián)機(jī)交易系統(tǒng)分布式技術(shù)規(guī)范

1范圍

本標(biāo)準(zhǔn)規(guī)定了分布式聯(lián)機(jī)交易系統(tǒng)應(yīng)覆蓋的范圍,以及在具體范圍內(nèi)應(yīng)具備的基礎(chǔ)功能。

本標(biāo)準(zhǔn)適用于金融行業(yè)采用分布式技術(shù)進(jìn)行聯(lián)機(jī)交易系統(tǒng)建設(shè)時(shí)使用。

本標(biāo)準(zhǔn)不適用于金融行業(yè)分析類系統(tǒng)的建設(shè),以及其他非金融類行業(yè)(金融行業(yè)分析類系統(tǒng)的建

設(shè),以及其他非金融類行業(yè)可參考本標(biāo)準(zhǔn)執(zhí)行)。

2規(guī)范性引用文件

下列文件對(duì)于本文件的應(yīng)用是必不可少的。凡是注日期的引用文件,僅所注日期的版本適用于本

文件。凡是不注日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。

GB/T10113—2003分類與編碼通用術(shù)語(yǔ)

GB/T5271.1-2000信息技術(shù)詞匯第1部分:基本術(shù)語(yǔ)

3術(shù)語(yǔ)和定義

下列術(shù)語(yǔ)和定義適用于本文件:

3.1

數(shù)據(jù)data

信息的可再解釋的形式化表示,以適用于通信、解釋或處理。

注:可以通過人工或自動(dòng)手段處理數(shù)據(jù)。

[GB/T5271.1-2000.定義01.01.02]

3.2

網(wǎng)絡(luò)network

由計(jì)算機(jī)或者其他信息終端及相關(guān)設(shè)備組成的按照一定的規(guī)則和程序?qū)π畔⑦M(jìn)行收集、存儲(chǔ)、

傳輸、交換、處理的系統(tǒng)。

3.3

分布式distributed

在計(jì)算機(jī)領(lǐng)域中,指物理上由多個(gè)不同的機(jī)器參與執(zhí)行,但在邏輯上完成的是一個(gè)任務(wù),對(duì)

使用者來說,就像一臺(tái)計(jì)算機(jī)在執(zhí)行一樣。

3.4

事務(wù)transaction

<計(jì)算機(jī)>訪問并可能更新數(shù)據(jù)庫(kù)中各種數(shù)據(jù)項(xiàng)的一個(gè)程序執(zhí)行單元(unit)。

注:一個(gè)事務(wù)如果執(zhí)行成功就全部提交,如果有一個(gè)失敗就全部回滾。

3.5

分布式事務(wù)distributedtransaction

指涉及多個(gè)不同事務(wù)資源的事務(wù)(例如:多個(gè)數(shù)據(jù)庫(kù)或者多個(gè)應(yīng)用系統(tǒng))。

注:由于每個(gè)事務(wù)資源在物理上是完全獨(dú)立的,所以其的一致性保證相對(duì)于單個(gè)數(shù)據(jù)庫(kù)的事務(wù)要復(fù)雜的多。

1

CESA-2019-2-009

4分布式覆蓋范圍

金融行業(yè)采用分布式技術(shù)建設(shè)聯(lián)機(jī)交易系統(tǒng)時(shí),應(yīng)將分布式技術(shù)全面的應(yīng)用到系統(tǒng)的各個(gè)層面,

使每個(gè)層面都具備分布式的特性,當(dāng)性能遇到瓶頸的時(shí)候都可以通過橫向擴(kuò)展的策略予以解決;并且

對(duì)于行業(yè)特有的問題(例如:分布式事務(wù))應(yīng)有具體的解決方案。具體應(yīng)包括:

a)服務(wù)層分布式:主要以微服務(wù)的形式體現(xiàn),可以將一個(gè)復(fù)雜系統(tǒng)拆分為多個(gè)微服務(wù),不僅可

以增加多臺(tái)機(jī)器提供服務(wù),還可以快速靈活的應(yīng)對(duì)的業(yè)務(wù)變化。

b)數(shù)據(jù)層分布式:可以將大數(shù)據(jù)量表中的數(shù)據(jù)進(jìn)行水平切分,用多個(gè)物理庫(kù)來承載,不僅降低

了單表的數(shù)據(jù)量,還增加了可用的物理資源。

c)緩存層分布式:對(duì)于大量的數(shù)據(jù)庫(kù)查詢請(qǐng)求,可以采用分布式緩存的機(jī)制進(jìn)行存儲(chǔ),降低對(duì)

數(shù)據(jù)庫(kù)的交互次數(shù),降低服務(wù)的響應(yīng)時(shí)間。

d)分布式統(tǒng)一調(diào)度:提供分布式的統(tǒng)一調(diào)度,來協(xié)調(diào)多個(gè)微服務(wù)節(jié)點(diǎn)及數(shù)據(jù)庫(kù)節(jié)點(diǎn)全部參與運(yùn)

行,充分利用資源,將批量處理的時(shí)間控制在有效范圍內(nèi)。

e)分布式事務(wù):由于金融業(yè)務(wù)的特殊性,對(duì)事務(wù)一致性的要求比其他行業(yè)都要高,所以,在上

述的分布式體系下,還要提供跨數(shù)據(jù)庫(kù)、跨微服務(wù)的事務(wù)一致性保證。

5服務(wù)層分布式

5.1概述

服務(wù)層分布式的主要目標(biāo)是為聯(lián)機(jī)交易系統(tǒng)提供服務(wù)分布式的運(yùn)行機(jī)制,以及配套的管理體系,

結(jié)合行業(yè)的最新發(fā)展趨勢(shì),最終體現(xiàn)為完整的微服務(wù)運(yùn)行體系,主要包括:微服務(wù)運(yùn)行引擎、微服務(wù)

網(wǎng)關(guān)和運(yùn)維監(jiān)控三個(gè)大的部分。

5.2微服務(wù)運(yùn)行引擎

微服務(wù)運(yùn)行引擎應(yīng)包括如下主要功能:

a)服務(wù)注冊(cè)/發(fā)現(xiàn):服務(wù)提供者在啟動(dòng)的時(shí)候?qū)⒎?wù)相關(guān)信息注冊(cè)到“注冊(cè)中心”,服務(wù)消費(fèi)者

通過“注冊(cè)中心”可以獲取到最新的服務(wù)列表;同樣當(dāng)服務(wù)提供者下線時(shí),注冊(cè)信息可以從

“注冊(cè)中心”剔除,服務(wù)消費(fèi)者可以更新服務(wù)提供者列表。

b)負(fù)載均衡:服務(wù)消費(fèi)者調(diào)用提供者的時(shí)候,可以根據(jù)本地的列表依據(jù)一定的負(fù)載均衡算法進(jìn)

行調(diào)用。

c)自動(dòng)隔離/恢復(fù):當(dāng)服務(wù)提供者出現(xiàn)異常情況(例如宕機(jī)),可以自動(dòng)從“注冊(cè)中心”刪除,

當(dāng)其恢復(fù)后又可以自動(dòng)加入,期間消費(fèi)者可以同步獲取到最新的服務(wù)提供者列表。

d)集群容錯(cuò):當(dāng)某一次的服務(wù)調(diào)用發(fā)生異常的情況下,可以提供多種容錯(cuò)機(jī)制,例如:重試

(可以設(shè)定重試次數(shù))、直接拋錯(cuò)等機(jī)制。

5.3微服務(wù)網(wǎng)關(guān)

微服務(wù)網(wǎng)關(guān)為外部系統(tǒng)訪問該系統(tǒng)提供統(tǒng)一的接入及控制,應(yīng)包括:

a)服務(wù)鑒權(quán):對(duì)服務(wù)的訪問進(jìn)行控制,只有在一定權(quán)限范圍內(nèi)的才可以訪問,否則將拒絕請(qǐng)求。

b)流量控制:對(duì)請(qǐng)求的總量進(jìn)行控制,如果超過限制則后續(xù)的請(qǐng)求將會(huì)被拒接或者等待。還可

以按具體的業(yè)務(wù)維度進(jìn)行更細(xì)粒度的控制,例如:按交易渠道進(jìn)行控制。

c)熔斷降級(jí):如果某個(gè)服務(wù)的失敗率比較高,或者發(fā)現(xiàn)一些明確的異常情況,有可能影響到其

2

CESA-2019-2-009

他服務(wù)的正常運(yùn)行,自動(dòng)切斷該服務(wù)的所有請(qǐng)求(直接拋錯(cuò)或者返回約定信息),以保護(hù)系

統(tǒng)整體的可用性。

5.4運(yùn)維監(jiān)控

運(yùn)維監(jiān)控是微服務(wù)體系的重要組成部分,應(yīng)包括:

a)灰度發(fā)布:某個(gè)不面向全部用戶的微服務(wù)有新的版本要發(fā)布,可以通過灰度發(fā)布只對(duì)部分用

戶開放,當(dāng)運(yùn)行一段時(shí)間如果效果好的話再對(duì)所有用戶開放

b)統(tǒng)一配置:微服務(wù)涉及的部署數(shù)量比較多,如果手動(dòng)一個(gè)一個(gè)修改配置文件,不僅效率比較

低,還容易出錯(cuò),并且跟微服務(wù)的初衷有所背離,所以一個(gè)統(tǒng)一的配置中心非常必要,通過

該配置中心可以快速完成多個(gè)實(shí)例的相關(guān)參數(shù)的調(diào)整,并實(shí)時(shí)生效。同時(shí)提供配置信息的版

本管理,防止配置出現(xiàn)問題時(shí)的統(tǒng)一回退。

c)服務(wù)治理:服務(wù)治理主要對(duì)服務(wù)運(yùn)行態(tài)的情況進(jìn)行動(dòng)態(tài)調(diào)控。

1)負(fù)載策略調(diào)整:可以對(duì)運(yùn)行態(tài)的多個(gè)服務(wù)提供者的負(fù)載均衡策略進(jìn)行調(diào)整,防止某個(gè)提

供者上的負(fù)載過高。

2)流控策略調(diào)整:可以根據(jù)實(shí)際需要,對(duì)流量控制的策略進(jìn)行動(dòng)態(tài)調(diào)整。

3)熔斷降級(jí)控制:對(duì)服務(wù)的熔斷及降級(jí)的策略進(jìn)行調(diào)整。

4)路由控制:通過配置對(duì)服務(wù)的路由策略進(jìn)行干預(yù),例如:暫時(shí)把某一個(gè)服務(wù)提供者屏蔽。

d)調(diào)用鏈跟蹤:有些交易涉及多個(gè)微服務(wù)之間的調(diào)用,為了更加方便定位問題,以及對(duì)服務(wù)執(zhí)

行情況進(jìn)行跟蹤,需要提供服務(wù)的完整調(diào)用鏈路信息,據(jù)此可以查看某些異常情況發(fā)生時(shí)的

具體信息,以及各個(gè)子服務(wù)的調(diào)用耗時(shí)等。

e)分布式日志:把分布式系統(tǒng)下的相關(guān)日志信息進(jìn)行采集、匯總,把跨多個(gè)系統(tǒng)的日志串接起

來,并提供統(tǒng)一的頁(yè)面按不同維度查詢相關(guān)日志信息。

f)監(jiān)控告警:對(duì)相關(guān)的監(jiān)控對(duì)象制定告警策略,當(dāng)其達(dá)到告警條件的時(shí)候需要產(chǎn)生告警信息,

以便運(yùn)維人員及時(shí)處理。監(jiān)控對(duì)象應(yīng)至少包括系統(tǒng)運(yùn)行資源、服務(wù)的運(yùn)行情況,當(dāng)發(fā)現(xiàn)系統(tǒng)

處理資源不足(例如:CPU長(zhǎng)時(shí)間大于80%)的情況,宜自動(dòng)增加運(yùn)行實(shí)例,以提升系統(tǒng)整體

的處理能力。

6數(shù)據(jù)層分布式

6.1概述

數(shù)據(jù)層分布式的主要目的是將大數(shù)據(jù)量的關(guān)系型表通過水平拆分的方式,將其的數(shù)據(jù)分布式的存

儲(chǔ)到多個(gè)不同的節(jié)點(diǎn),訪問的時(shí)候也可以到具體的位置快速訪問。行業(yè)內(nèi)主要包括從技術(shù)架構(gòu)層實(shí)現(xiàn)

和采用獨(dú)立的“分布式數(shù)據(jù)庫(kù)”兩種主要模式。考慮到分布式數(shù)據(jù)庫(kù)是一個(gè)單獨(dú)的領(lǐng)域,該部分不包

含在本標(biāo)準(zhǔn)內(nèi),本標(biāo)準(zhǔn)僅涉及技術(shù)架構(gòu)層實(shí)現(xiàn)模式,主要包括:數(shù)據(jù)路由、SQL兼容性及數(shù)據(jù)庫(kù)無關(guān)

性三個(gè)方面。

6.2主要用語(yǔ)說明

數(shù)據(jù)層分布式涉及到主要術(shù)語(yǔ)主要包括:

a)數(shù)據(jù)分片:將一張表的數(shù)據(jù)按照一定規(guī)則進(jìn)行拆分,經(jīng)過拆分后的每一部分?jǐn)?shù)據(jù)叫做一個(gè)數(shù)

據(jù)分片,簡(jiǎn)稱分片。

b)分片鍵:具體的拆分過程,必須針對(duì)某一個(gè)業(yè)務(wù)屬性,按照一定規(guī)則進(jìn)行,這里的業(yè)務(wù)屬性

就是所謂的分片鍵,分片鍵一般都是表中的字段。例如,對(duì)“客戶信息”表按照“客戶號(hào)”

3

CESA-2019-2-009

取模的方式進(jìn)行拆分,這里的“客戶號(hào)”就是分片鍵,有時(shí)也叫拆分鍵。

c)拆分算法:也叫分片算法,指用于計(jì)算相關(guān)數(shù)據(jù)在哪個(gè)分片的算法,上述示例中的取模就是

一種常用的拆分算法。

d)路由:按照拆分算法將具體的SQL發(fā)送到具體的分片上執(zhí)行的過程稱為路由。

e)數(shù)據(jù)節(jié)點(diǎn):簡(jiǎn)稱節(jié)點(diǎn),其概念有點(diǎn)類似于上述的分片,但分片主要是從數(shù)據(jù)的視角來看的,

屬于一個(gè)邏輯概念,而節(jié)點(diǎn)則泛指每個(gè)分片的物理體現(xiàn)。當(dāng)然物理體現(xiàn)的方式又有多種,最

常用的就是一個(gè)分片對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)實(shí)例;有時(shí)候一個(gè)分片對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)實(shí)例下的一個(gè)

database或者schema。

f)分庫(kù):當(dāng)一個(gè)分片對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)實(shí)例的時(shí)候,一般將這里的每一個(gè)數(shù)據(jù)庫(kù)俗稱為分庫(kù)。

g)分表:當(dāng)一個(gè)分片對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)表的時(shí)候,一般將這里的每一個(gè)表俗稱為分表。

6.3數(shù)據(jù)路由

數(shù)據(jù)路由是該模式的核心功能,主要為數(shù)據(jù)的拆分提供策略性支持,應(yīng)包括:

a)提供成熟的拆分算法:應(yīng)包括取模、日期、范圍、枚舉、hash等常用算法。

b)支持自定義拆分算法:在上述基本的拆分算法之外提供擴(kuò)展機(jī)制,讓開發(fā)人員可以根據(jù)實(shí)際

業(yè)務(wù)需要自定義跟業(yè)務(wù)更加匹配的算法。

c)同時(shí)支持分庫(kù)和分表:不僅支持分庫(kù),還支持在分庫(kù)的基礎(chǔ)上進(jìn)行分表,以防止在某些情況

下分庫(kù)數(shù)過多,造成運(yùn)維的不可控。

d)指定路由:對(duì)某些特殊的SQL支持指定節(jié)點(diǎn)執(zhí)行。

e)間接路由:對(duì)于一些使用率較高的SQL,但其WHERE條件又不包含分片鍵的情況(例如:客

戶信息表按客戶號(hào)分片,用手機(jī)號(hào)查詢),應(yīng)提供間接通過分片鍵路由的機(jī)制。

f)多維路由:支持同時(shí)按多個(gè)維度進(jìn)行拆分及路由。

6.4SQL兼容性

該機(jī)制應(yīng)支持金融行業(yè)常用的SQL語(yǔ)句類型,主要包括:

a)支持命中分片鍵的增刪改查;

b)跨庫(kù)的聚合函數(shù)、關(guān)聯(lián)查詢、排序、分頁(yè)、分組、聯(lián)合查詢等常用組合;

c)支持常用的字符串、數(shù)學(xué)、日期類、格式化及聚合函數(shù);

6.5數(shù)據(jù)庫(kù)無關(guān)性

該機(jī)制不應(yīng)跟具體的數(shù)據(jù)庫(kù)綁定,應(yīng)支持常用的關(guān)系型數(shù)據(jù)庫(kù)。

7緩存層分布式

本標(biāo)準(zhǔn)提到的緩存層分布式主要指緩存的分布式訪問,并不是指提供一個(gè)分布式的緩存服務(wù)器。

主要提供低侵入的分布式緩存(行業(yè)內(nèi)目前基本以redis為主)的訪問機(jī)制,但必須考慮金融場(chǎng)景對(duì)

數(shù)據(jù)準(zhǔn)確性的要求。具體應(yīng)包括:

a)提供基礎(chǔ)的分布式訪問的API:提供緩存分布式訪問的基礎(chǔ)API,為業(yè)務(wù)框架及特殊情況使用

提供支持。

b)提供跟數(shù)據(jù)庫(kù)配合的讀寫支持:對(duì)于跟數(shù)據(jù)庫(kù)配合的查詢時(shí),優(yōu)先從緩存中查詢,如果緩存

中沒有再查數(shù)據(jù)庫(kù),并把結(jié)果放置到緩存中;對(duì)于寫操作,提供機(jī)制保證緩存跟數(shù)據(jù)庫(kù)的數(shù)

據(jù)一致性。上述操作應(yīng)降低對(duì)業(yè)務(wù)的侵入,如果是基于Java的實(shí)現(xiàn)宜采用注解的模式。

4

CESA-2019-2-009

c)臟數(shù)據(jù)的控制:如果并發(fā)的對(duì)緩存中的同一個(gè)數(shù)據(jù)進(jìn)行變更,或者一個(gè)緩存的變更跟查詢交

叉在一起的極端情況下,有可能造成臟數(shù)據(jù),需要提供完善的應(yīng)對(duì)機(jī)制。

8分布式統(tǒng)一調(diào)度

分布式統(tǒng)一調(diào)度主要應(yīng)對(duì)分布式系統(tǒng)各種任務(wù)的協(xié)同工作,最大限度發(fā)揮分布式系統(tǒng)的特性,以

更高效的方式完成待處理任務(wù)。具體要求應(yīng)包括:

a)通過任務(wù)定義可以定義具體要執(zhí)行的任務(wù),并且定義之間的依賴關(guān)系;

b)具體執(zhí)行過程,應(yīng)依據(jù)上述定義的依賴關(guān)系進(jìn)行執(zhí)行,并對(duì)出現(xiàn)異常的任務(wù)提供異常信息查

看,及支持重新執(zhí)行。執(zhí)行過程中應(yīng)將任務(wù)分配到多個(gè)執(zhí)行節(jié)點(diǎn)上去執(zhí)行,如果該節(jié)點(diǎn)有異

常應(yīng)切換到其他節(jié)點(diǎn)執(zhí)行。

c)調(diào)度節(jié)點(diǎn)應(yīng)提供機(jī)制保證在任何時(shí)間都有一個(gè)調(diào)度節(jié)點(diǎn)可用。

d)對(duì)涉及大數(shù)據(jù)量的表的任務(wù),應(yīng)支持對(duì)數(shù)據(jù)進(jìn)行分段,將其拆分為多個(gè)小的任務(wù)并行到多個(gè)

節(jié)點(diǎn)上執(zhí)行,以提升整體處理效率。

e)應(yīng)至少支持手動(dòng)執(zhí)行和定時(shí)執(zhí)行兩種方式。

f)應(yīng)可視化的查看任務(wù)的執(zhí)行情況,并及時(shí)進(jìn)行相關(guān)控制操作。

9分布式事務(wù)

9.1概述

分布式事務(wù)是金融行業(yè)重點(diǎn)關(guān)注的問題,不同的業(yè)務(wù)場(chǎng)景對(duì)事務(wù)的關(guān)注點(diǎn)也有一定差異,主要體

現(xiàn)在隔離性、一致性保證度、風(fēng)險(xiǎn)、性能及業(yè)務(wù)復(fù)雜度幾個(gè)方面,所以需要提供多種不同的分布式事

務(wù)機(jī)制,以適配不同的業(yè)務(wù)場(chǎng)景。另外,由于分布式事務(wù)涉及到的事務(wù)資源在物理上是獨(dú)立的,所以

必須考慮物理異常對(duì)事務(wù)的影響。

9.2處理機(jī)制

分布式事務(wù)的處理機(jī)制應(yīng)至少包括如下一種或幾種模式:

a)沖正模式:該模式在框架級(jí)提供統(tǒng)一的沖正機(jī)制,避免每個(gè)開發(fā)人員重復(fù)實(shí)現(xiàn),規(guī)避技術(shù)風(fēng)

險(xiǎn)。其主要應(yīng)用于一個(gè)事務(wù)跨多個(gè)服務(wù)的場(chǎng)景,要求每個(gè)服務(wù)都提供對(duì)應(yīng)的沖正服務(wù),當(dāng)后

續(xù)的服務(wù)執(zhí)行失敗時(shí),框架將自動(dòng)執(zhí)行前面服務(wù)的沖正服務(wù),將之前已經(jīng)執(zhí)行成功的服務(wù)回

退到執(zhí)行前的狀態(tài)。這種模式是分布式系統(tǒng)中最基本的一種模式,適合一些不是非常關(guān)鍵、

或者低頻的交易,即使出現(xiàn)不一致造成的影響也不大,可以通過業(yè)務(wù)手段進(jìn)行處理。

b)TCC模式:一個(gè)完整的TCC模式由一個(gè)主業(yè)務(wù)服務(wù)和若干個(gè)從業(yè)務(wù)服務(wù)組成,主業(yè)務(wù)服務(wù)發(fā)

起并完成整個(gè)業(yè)務(wù)活動(dòng),從業(yè)務(wù)服務(wù)需要實(shí)現(xiàn)如下三個(gè)接口:

?Try:完成所有業(yè)務(wù)檢查、預(yù)留必須業(yè)務(wù)資源;

?Confirm:真正執(zhí)行業(yè)務(wù)不作任何業(yè)務(wù)檢查,只使用Try階段預(yù)留的業(yè)務(wù)資源;Confirm

操作滿足冪等性;

?Cancel:釋放Try階段預(yù)留的業(yè)務(wù)資源;Cancel操作滿足冪等性。

如果所有的從業(yè)務(wù)服務(wù)的Try都執(zhí)行成功,就會(huì)分別進(jìn)行各自的Confirm;如果有一個(gè)失敗,

則分別執(zhí)行各自的Cancel。該模式主要提供總體事務(wù)的控制機(jī)制,具體的邏輯由業(yè)務(wù)實(shí)現(xiàn),

其比較適合有極致性能需求的、對(duì)一致性要求比較高的業(yè)務(wù)場(chǎng)景。

c)無侵入模式:該模式通過模擬數(shù)據(jù)庫(kù)內(nèi)部的機(jī)制,對(duì)事務(wù)(跨服務(wù)、跨數(shù)據(jù)庫(kù))中的所有

SQL操作自動(dòng)構(gòu)建UNDO、REDO的相關(guān)信息,并對(duì)相關(guān)記錄進(jìn)行鎖定。當(dāng)后續(xù)的執(zhí)行出現(xiàn)異常

5

CESA-2019-2-009

的時(shí)候,事務(wù)管理器通過UNDO日志對(duì)前面已經(jīng)執(zhí)行的SQL操作進(jìn)行回滾。該模式在保證隔離

性的前提下,提供了很高的一致性,并且對(duì)業(yè)務(wù)系統(tǒng)無侵入,適合于大部分的業(yè)務(wù)場(chǎng)景,是

分布式事務(wù)在金融行業(yè)落地的一個(gè)重要模式。

9.3異常處理

由于分布式事務(wù)涉及到的事務(wù)資源在物理上是獨(dú)立的,所以不管是上述哪種模式,在部分事務(wù)資

源出現(xiàn)物理故障的情況下,都面臨不一致的風(fēng)險(xiǎn),針對(duì)于這種情況,應(yīng)提供如下的應(yīng)對(duì)措施:

a)自動(dòng)恢復(fù):當(dāng)上述物理故障解除后,系統(tǒng)可以自動(dòng)檢測(cè)到,并對(duì)受影響的事務(wù)提供自動(dòng)處理

機(jī)制,盡最大可能保證事務(wù)的一致性,避免相關(guān)事務(wù)全部由人工處理。

b)人工干預(yù):當(dāng)出現(xiàn)極端異常情況,上述自動(dòng)恢復(fù)機(jī)制也無法恢復(fù)的情況下,可支持人工干預(yù),

并提供必要的事務(wù)信息(例如:全局事務(wù)狀態(tài)、哪個(gè)分支出現(xiàn)問題、事務(wù)的上下文等)以供

分析。

6

CESA-2019-2-009

附錄A

(規(guī)范性附錄)

XXXX

A.1XXXX

7

CESA-2019-2-009

參考文獻(xiàn)

[1]GB/T5271.1-2000信息技術(shù)詞匯第1部分:基本術(shù)語(yǔ)

[2]GB/T29246-2012信息技術(shù)安全技術(shù)信息安全管理體系概述和詞匯

8

CESA-2019-2-009

目次

前言................................................................................................................................................................III

引言..................................................................................................................................................................IV

1范圍................................................................................................................................................................1

2規(guī)范性引用文件............................................................................................................................................1

3術(shù)語(yǔ)和定義....................................................................................................................................................1

4分布式覆蓋范圍.............................................................................................................................................2

5服務(wù)層分布式................................................................................................................................................2

5.1概述........................................................................................................................................................2

5.2微服務(wù)引擎............................................................................................................................................2

5.3微服務(wù)網(wǎng)關(guān)............................................................................................................................................2

5.4運(yùn)維監(jiān)控................................................................................................................................................3

6數(shù)據(jù)層分布式................................................................................................................................................3

6.1概述........................................................................................................................................................3

6.2主要用語(yǔ)說明........................................................................................................................................3

6.3數(shù)據(jù)路由................................................................................................................................................4

6.4SQL兼容性..............................................................................................................................................4

6.5數(shù)據(jù)庫(kù)無關(guān)性.........................................................................................................................................4

7緩存層分布式................................................................................................................................................4

8分布式統(tǒng)一調(diào)度.............................................................................................................................................5

9分布式事務(wù)....................................................................................................................................................5

9.1概述........................................................................................................................................................5

9.1處理機(jī)制................................................................................................................................................5

9.2異常處理................................................................................................................................................6

附錄A(規(guī)范性附錄)XXXX...........................................................................................................................7

A.1XX................................................................................................................................................................8

參考文獻(xiàn)............................................................................................................................................................8

CESA-2019-2-009

金融行業(yè)聯(lián)機(jī)交易系統(tǒng)分布式技術(shù)規(guī)范

1范圍

本標(biāo)準(zhǔn)規(guī)定了分布式聯(lián)機(jī)交易系統(tǒng)應(yīng)覆蓋的范圍,以及在具體范圍內(nèi)應(yīng)具備的基礎(chǔ)功能。

本標(biāo)準(zhǔn)適用于金融行業(yè)采用分布式技術(shù)進(jìn)行聯(lián)機(jī)交易系統(tǒng)建設(shè)時(shí)使用。

本標(biāo)準(zhǔn)不適用于金融行業(yè)分析類系統(tǒng)的建設(shè),以及其他非金融類行業(yè)(金融行業(yè)分析類系統(tǒng)的建

設(shè),以及其他非金融類行業(yè)可參考本標(biāo)準(zhǔn)執(zhí)行)。

2規(guī)范性引用文件

下列文件對(duì)于本文件的應(yīng)用是必不可少的。凡是注日期的引用文件,僅所注日期的版本適用于本

文件。凡是不注日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。

GB/T10113—2003分類與編碼通用術(shù)語(yǔ)

GB/T5271.1-2000信息技術(shù)詞匯第1部分:基本術(shù)語(yǔ)

3術(shù)語(yǔ)和定義

下列術(shù)語(yǔ)和定義適用于本文件:

3.1

數(shù)據(jù)data

信息的可再解釋的形式化表示,以適用于通信、解釋或處理。

注:可以通過人工或自動(dòng)手段處理數(shù)據(jù)。

[GB/T5271.1-2000.定義01.01.02]

3.2

網(wǎng)絡(luò)network

由計(jì)算機(jī)或者其他信息終端及相關(guān)設(shè)備組成的按照一定的規(guī)則和程序?qū)π畔⑦M(jìn)行收集、存儲(chǔ)、

傳輸、交換、處理的系統(tǒng)。

3.3

分布式distributed

在計(jì)算機(jī)領(lǐng)域中,指物理上由多個(gè)不同的機(jī)器參與執(zhí)行,但在邏輯上完成的是一個(gè)任務(wù),對(duì)

使用者來說,就像一臺(tái)計(jì)算機(jī)在執(zhí)行一樣。

3.4

事務(wù)transaction

<計(jì)算機(jī)>訪問并可能更新數(shù)據(jù)庫(kù)中各種數(shù)據(jù)項(xiàng)的一個(gè)程序執(zhí)行單元(unit)。

注:一個(gè)事務(wù)如果執(zhí)行成功就全部提交,如果有一個(gè)失敗就全部回滾。

3.5

分布式事務(wù)distributedtransaction

指涉及多個(gè)不同事務(wù)資源的事務(wù)(例如:多個(gè)數(shù)據(jù)庫(kù)或者多個(gè)應(yīng)用系統(tǒng))。

注:由于每個(gè)事務(wù)資源在物理上是完全獨(dú)立的,所以其的一致性保證相對(duì)于單個(gè)數(shù)據(jù)庫(kù)的事務(wù)要復(fù)雜的多。

1

CESA-2019-2-009

4分布式覆蓋范圍

金融行業(yè)采用分布式技術(shù)建設(shè)聯(lián)機(jī)交易系統(tǒng)時(shí),應(yīng)將分布式技術(shù)全面的應(yīng)用到系統(tǒng)的各個(gè)層面,

使每個(gè)層面都具備分布式的特性,當(dāng)性能遇到瓶頸的時(shí)候都可以通過橫向擴(kuò)展的策略予以解決;并且

對(duì)于行業(yè)特有的問題(例如:分布式事務(wù))應(yīng)有具體的解決方案。具體應(yīng)包括:

a)服務(wù)層分布式:主要以微服務(wù)的形式體現(xiàn),可以將一個(gè)復(fù)雜系統(tǒng)拆分為多個(gè)微服務(wù),不僅可

以增加多臺(tái)機(jī)器提供服務(wù),還可以快速靈活的應(yīng)對(duì)的業(yè)務(wù)變化。

b)數(shù)據(jù)層分布式:可以將大數(shù)據(jù)量表中的數(shù)據(jù)進(jìn)行水平切分,用多個(gè)物理庫(kù)來承載,不僅降低

了單表的數(shù)據(jù)量,還增加了可用的物理資源。

c)緩存層分布式:對(duì)于大量的數(shù)據(jù)庫(kù)查詢請(qǐng)求,可以采用分布式緩存的機(jī)制進(jìn)行存儲(chǔ),降低對(duì)

數(shù)據(jù)庫(kù)的交互次數(shù),降低服務(wù)的響應(yīng)時(shí)間。

d)分布式統(tǒng)一調(diào)度:提供分布式的統(tǒng)一調(diào)度,來協(xié)調(diào)多個(gè)微服務(wù)節(jié)點(diǎn)及數(shù)據(jù)庫(kù)節(jié)點(diǎn)全部參與運(yùn)

行,充分利用資源,將批量處理的時(shí)間控制在有效范圍內(nèi)。

e)分布式事務(wù):由于金融業(yè)務(wù)的特殊性,對(duì)事務(wù)一致性的要求比其他行業(yè)都要高,所以,在上

述的分布式體系下,還要提供跨數(shù)據(jù)庫(kù)、跨微服務(wù)的事務(wù)一致性保證。

5服務(wù)層分布式

5.1概述

服務(wù)層分布式的主要目標(biāo)是為聯(lián)機(jī)交易系統(tǒng)提供服務(wù)分布式的運(yùn)行機(jī)制,以及配套的管理體系,

結(jié)合行業(yè)的最新發(fā)展趨勢(shì),最終體現(xiàn)為完整的微服務(wù)運(yùn)行體系,主要包括:微服務(wù)運(yùn)行引擎、微服務(wù)

網(wǎng)關(guān)和運(yùn)維監(jiān)控三個(gè)大的部分。

5.2微服務(wù)運(yùn)行引擎

微服務(wù)運(yùn)行引擎應(yīng)包括如下主要功能:

a)服務(wù)注冊(cè)/發(fā)現(xiàn):服務(wù)提供者在啟動(dòng)的時(shí)候?qū)⒎?wù)相關(guān)信息注冊(cè)到“注冊(cè)中心”,服務(wù)消費(fèi)者

通過“注冊(cè)中心”可以獲取到最新的服務(wù)列表;同樣當(dāng)服務(wù)提供者下線時(shí),注冊(cè)信息可以從

“注冊(cè)中心”剔除,服務(wù)消費(fèi)者可以更新服務(wù)提供者列表。

b)負(fù)載均衡:服務(wù)消費(fèi)者調(diào)用提供者的時(shí)候,可以根據(jù)本地的列表依據(jù)一定的負(fù)載均衡算法進(jìn)

行調(diào)用。

c)自動(dòng)隔離/恢復(fù):當(dāng)服務(wù)提供者出現(xiàn)異常情況(例如宕機(jī)),可以自動(dòng)從“注冊(cè)中心”刪除,

當(dāng)其恢復(fù)后又可以自動(dòng)加入,期間消費(fèi)者可以同步獲取到最新的服務(wù)提供者列表。

d)集群容錯(cuò):當(dāng)某一次的服務(wù)調(diào)用發(fā)生異常的情況下,可以提供多種容錯(cuò)機(jī)制,例如:重試

(可以設(shè)定重試次數(shù))、直接拋錯(cuò)等機(jī)制。

5.3微服務(wù)網(wǎng)關(guān)

微服務(wù)網(wǎng)關(guān)為外部系統(tǒng)訪問該系統(tǒng)提供統(tǒng)一的接入及控制,應(yīng)包括:

a)服務(wù)鑒權(quán):對(duì)服務(wù)的訪問進(jìn)行控制,只有在一定權(quán)限范圍內(nèi)的才可以訪問,否則將拒絕請(qǐng)求。

b)流量控制:對(duì)請(qǐng)求的總量進(jìn)行控制,如果超過限制則后續(xù)的請(qǐng)求將會(huì)被拒接或者等待。還可

以按具體的業(yè)務(wù)維度進(jìn)行更細(xì)粒度的控制,例如:按交易渠道進(jìn)行控制。

c)熔斷降級(jí):如果某個(gè)服務(wù)的失敗率比較高,或者發(fā)現(xiàn)一些明確的異常情況,有可能影響到其

2

CESA-2019-2-009

他服務(wù)的正常運(yùn)行,自動(dòng)切斷該服務(wù)的所有請(qǐng)求(直接拋錯(cuò)或者返回約定信息),以保護(hù)系

統(tǒng)整體的可用性。

5.4運(yùn)維監(jiān)控

運(yùn)維監(jiān)控是微服務(wù)體系的重要組成部分,應(yīng)包括:

a)灰度發(fā)布:某個(gè)不面向全部用戶的微服務(wù)有新的版本要發(fā)布,可以通過灰度發(fā)布只對(duì)部分用

戶開放,當(dāng)運(yùn)行一段時(shí)間如果效果好的話再對(duì)所有用戶開放

b)統(tǒng)一配置:微服務(wù)涉及的部署數(shù)量比較多,如果手動(dòng)一個(gè)一個(gè)修改配置文件,不僅效率比較

低,還容易出錯(cuò),并且跟微服務(wù)的初衷有所背離,所以一個(gè)統(tǒng)一的配置中心非常必要,通過

該配置中心可以快速完成多個(gè)實(shí)例的相關(guān)參數(shù)的調(diào)整,并實(shí)時(shí)生效。同時(shí)提供配置信息的版

本管理,防止配置出現(xiàn)問題時(shí)的統(tǒng)一回退。

c)服務(wù)治理:服務(wù)治理主要對(duì)服務(wù)運(yùn)行態(tài)的情況進(jìn)行動(dòng)態(tài)調(diào)控。

1)負(fù)載策略調(diào)整:可以對(duì)運(yùn)行態(tài)的多個(gè)服務(wù)提供者的負(fù)載均衡策略進(jìn)行調(diào)整,防止某個(gè)提

供者上的負(fù)載過高。

2)流控策略調(diào)整:可以根據(jù)實(shí)際需要,對(duì)流量控制的策略進(jìn)行動(dòng)態(tài)調(diào)整。

3)熔斷降級(jí)控制:對(duì)服務(wù)的熔斷及降級(jí)的策略進(jìn)行調(diào)整。

4)路由控制:通過配置對(duì)服務(wù)的路由策略進(jìn)行干預(yù),例如:暫時(shí)把某一個(gè)服務(wù)提供者屏蔽。

d)調(diào)用鏈跟蹤:有些交易涉及多個(gè)微服務(wù)之間的調(diào)用,為了更加方便定位問題,以及對(duì)服務(wù)執(zhí)

行情況進(jìn)行跟蹤,需要提供服務(wù)的完整調(diào)用鏈路信息,據(jù)此可以查看某些異常情況發(fā)生時(shí)的

具體信息,以及各個(gè)子服務(wù)的調(diào)用耗時(shí)等。

e)分布式日志:把分布式系統(tǒng)下的相關(guān)日志信息進(jìn)行采集、匯總,把跨多個(gè)系統(tǒng)的日志串接起

來,并提供統(tǒng)一的頁(yè)面按不同維度查詢相關(guān)日志信息。

f)監(jiān)控告警:對(duì)相關(guān)的監(jiān)控對(duì)象制定告警策略,當(dāng)其達(dá)到告警條件的時(shí)候需要產(chǎn)生告警信息,

以便運(yùn)維人員及時(shí)處理。監(jiān)控對(duì)象應(yīng)至少包括系統(tǒng)運(yùn)行資源、服務(wù)的運(yùn)行情況,當(dāng)發(fā)現(xiàn)系統(tǒng)

處理資源不足(例如:CPU長(zhǎng)時(shí)間大于

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論