如何構(gòu)建一個(gè)交易系統(tǒng)(四)

一個(gè)交易系統(tǒng)需要滿足那些要求?交易系統(tǒng)和其他系統(tǒng)犁嗅,既有共性边涕,又有很多的不一樣地方; 不像其他領(lǐng)域需求比較不確定褂微、多變功蜓,對(duì)于金融行業(yè),很多業(yè)務(wù)背景其實(shí)幾十年宠蚂,甚至上百年來(lái)都沒(méi)有改變式撼;很久以前沒(méi)有電腦時(shí)候大家是這樣玩的:


可以想象大家濟(jì)濟(jì)一堂,熙熙攘攘求厕,吵吵鬧鬧著隆,對(duì)著黑板數(shù)字口若懸河,眉飛色舞呀癣;和現(xiàn)在對(duì)著k線大談一通其實(shí)沒(méi)有什么差別美浦, 只不過(guò)過(guò)去人與人更近點(diǎn)。

但凡能夠打動(dòng)人類靈魂深處的東西项栏, 比如*黃**賭***毒浦辨,都能激發(fā)人類的無(wú)限的想象力和創(chuàng)造力,比如現(xiàn)時(shí)流行的視頻社交沼沈,其實(shí)玩線視頻最溜的流酬,技術(shù)最為先進(jìn)的币厕,是當(dāng)今世界上最大不可描述網(wǎng)站某por**hub; 據(jù)說(shuō)最近在玩AI,已經(jīng)遠(yuǎn)遠(yuǎn)超過(guò)很多紙上談兵的研究機(jī)構(gòu)。交易系統(tǒng)也是芽腾,這樣一個(gè)充滿荷爾蒙旦装,總是讓人蠢蠢欲動(dòng),欲罷不能的產(chǎn)業(yè)晦嵌,更是在玩家同辣,莊家,服務(wù)提供者們的共同努力下惭载,將技術(shù)的運(yùn)用推到了極致旱函;互聯(lián)網(wǎng)和移動(dòng)化,更多的參與者涌入描滔,如何做好這個(gè)國(guó)民手游棒妨,是個(gè)非常挑戰(zhàn)而又有意義的事情。

安全/高可用

對(duì)于金融系統(tǒng)來(lái)說(shuō)含长, 這是個(gè)硬性指標(biāo)券腔,安全可能分不同類別, 比如企業(yè)的內(nèi)部環(huán)境拘泞,金融系統(tǒng)一般有自己專有網(wǎng)絡(luò)環(huán)境纷纫, 對(duì)于辦公室場(chǎng)所上班行為也有非常嚴(yán)格的控制,畢竟往往堡壘都是從內(nèi)部攻破陪腌。這些都有相應(yīng)的標(biāo)準(zhǔn)辱魁、規(guī)范和法律, 基本有專門的團(tuán)隊(duì)負(fù)責(zé)這塊東西诗鸭。?

和我們交易相關(guān)聯(lián)的部分染簇, 很大部分是數(shù)據(jù)和平臺(tái)的安全, 平臺(tái)的安全强岸,信息交互的通道安全否锻弓, 平臺(tái)是否穩(wěn)定, 數(shù)據(jù)存儲(chǔ)安全否蝌箍,防篡改青灼, 是否有冗余備份,防止丟失十绑。

對(duì)于數(shù)據(jù)通道存儲(chǔ)安全聚至,使用加密算法,現(xiàn)在一般都比較成熟本橙, 業(yè)有規(guī)范的行業(yè)標(biāo)準(zhǔn)。?

對(duì)于平臺(tái)的安全也就是災(zāi)備脆诉, 現(xiàn)在的金融系統(tǒng)甚亭, 最主流的災(zāi)備技術(shù)是兩地三中心(即生產(chǎn)數(shù)據(jù)中心贷币、同城災(zāi)備中心、異地災(zāi)備中心)亏狰。

參考下阿里高可用技術(shù)架構(gòu): 第一個(gè)是做了同城的雙活役纹,第二個(gè)做了異地只讀及冷備,第三個(gè)是做了異地多活暇唾,這塊促脉, 基本專門系統(tǒng)團(tuán)隊(duì)維護(hù), 對(duì)于我們?cè)O(shè)計(jì)開(kāi)發(fā)的團(tuán)隊(duì)策州, 接觸不多瘸味。 上面的文章, 可能更多的談到實(shí)現(xiàn)的過(guò)程够挂, 沒(méi)有具體實(shí)現(xiàn)的細(xì)節(jié)旁仿, 說(shuō)到這里,其實(shí)阿里云上有專門針對(duì)金融系統(tǒng)的解決方案孽糖, 這里人家也是拿出看家的本領(lǐng)來(lái)分享枯冈,能夠做到異地多活還是非常牛掰的,保證最終一致性可能是退而求其次的方案办悟, 參考CAP 理論尘奏。翻了翻還有不少: 寫(xiě)事情真不能100%完美退而求其次也不錯(cuò):《異地多活設(shè)計(jì)辣么難?其實(shí)是你想多了病蛉!》 炫加;服務(wù)降級(jí)等在應(yīng)用層中控制也是不錯(cuò)方案。 《面向業(yè)務(wù)的立體化高可用架構(gòu)設(shè)計(jì)》铡恕;總之條條大道通羅馬琢感,八仙過(guò)海各有神通, 不拘一格探熔,只要能解決問(wèn)題的方法就是好方法驹针、對(duì)的方法。?

保證高可用性诀艰,另外一個(gè)監(jiān)控運(yùn)維也是必不可少的步驟柬甥, 畢竟三分代碼, 七分運(yùn)維其垄】疗眩總之成功的項(xiàng)目和每個(gè)部門、每個(gè)環(huán)節(jié)都密不可分绿满。成功的項(xiàng)目都是類似的臂外, 不成功的項(xiàng)目是千差萬(wàn)別的。

我們這里將主要分享的是, 具體的應(yīng)用層面漏健, 如何實(shí)現(xiàn)數(shù)據(jù)一致性嚎货, 下面會(huì)有專門的章節(jié)講解,在應(yīng)用層面如何使用 eventsource 等設(shè)計(jì)模式蔫浆,保證數(shù)據(jù)一致性殖属,和可追溯。對(duì)數(shù)據(jù)的冗余瓦盛,更多會(huì)使用分片partition 和 replication洗显; 如何動(dòng)態(tài)的調(diào)整不同節(jié)點(diǎn)之間的balance, 整個(gè)cluster集群的維護(hù)原环。?

性能

天下武功挠唆,唯快不破;對(duì)于交易系統(tǒng)扮念,快代表這先人一步得到消息损搬, 也就意味這更多、更佳的交易機(jī)會(huì)柜与,和更好的盈利巧勤;所以人對(duì)交易系統(tǒng)延誤的忍受會(huì)被遠(yuǎn)遠(yuǎn)的放大, 可能你在刷淘寶的時(shí)候多1~2秒延遲你還能忍受弄匕, 但是在交易系統(tǒng)颅悉,就像有句臺(tái)詞:我分分秒秒幾百萬(wàn)的盈虧。 這有點(diǎn)夸張迁匠, 但是確實(shí)很現(xiàn)實(shí)剩瓶, 特別在高風(fēng)險(xiǎn)、高杠桿化的交易中城丧, 分秒就是盈虧的分界線延曙; 所以性能除了我們上面說(shuō)到的高可用性外,在單節(jié)點(diǎn)上如何實(shí)現(xiàn)性能最大化是在設(shè)計(jì)中必須要考慮的亡哄。 現(xiàn)有交易系統(tǒng)大部分基于一些更底層更高效的語(yǔ)言(c/c++)枝缔, 但是語(yǔ)言始終是一門工具。能否達(dá)到預(yù)期的性能需求蚊惯, 還是要看具體的設(shè)計(jì)和實(shí)現(xiàn)愿卸。?

這里演示的系統(tǒng), 基礎(chǔ)開(kāi)發(fā)語(yǔ)言是java截型,可能熟悉編程語(yǔ)言的人懷疑java 能否勝任趴荸, 但是對(duì)于一個(gè)企業(yè)的開(kāi)發(fā), 有諸多的因素需要考量:成本宦焦,效率发钝,投資回報(bào)率等等顿涣,其實(shí)對(duì)于性能的需求,同高可用性需求一樣笼平, 大家有諸多理解上的誤區(qū)园骆, 這也同大家對(duì)質(zhì)量的理解一樣舔痪, 質(zhì)量是越高越好嗎寓调? ?答案不是, 是能滿足你的質(zhì)量就是最好的質(zhì)量锄码。你用一次性塑料袋去買捆菜夺英, 非得要這個(gè)袋子鍍金的,上面有印有精美的花紋的滋捶, 那是不現(xiàn)實(shí)的痛悯。 同樣對(duì)于性能的需求,對(duì)于一個(gè)目標(biāo)是服務(wù)于每個(gè)能上網(wǎng)的民眾重窟; 在如今基礎(chǔ)上你也許很難達(dá)到毫秒級(jí)別载萌,即時(shí)能夠達(dá)到, 付出的成本也許大大超出你的承受范圍巡扇,所以做生意或者做人一樣都得有點(diǎn)妥協(xié)扭仁,這是么有原則性嗎?不是厅翔!這恰恰是最好的原則乖坠; 如果我就需要100%高可用性,所有單子都需要在1毫秒內(nèi)成交--這個(gè)才是絕對(duì)不能的刀闷!

于是乎熊泵, 達(dá)到恰好是資源、能力范圍內(nèi)能夠達(dá)到甸昏,最好的顽分、最大滿足性能需求的設(shè)計(jì),便是當(dāng)下最優(yōu)的設(shè)計(jì)施蜜,不要over design 才是對(duì)你投資人老板最好的負(fù)責(zé)卒蘸!

除了java 是基礎(chǔ)的語(yǔ)言, 也有必不可少的中間件:緩存花墩、 內(nèi)存網(wǎng)格悬秉、消息等, 下篇章節(jié)將一一細(xì)述冰蘑。

PS: ?對(duì)于某些細(xì)節(jié)過(guò)分的追求和泌,可能是大部分技術(shù)出生的工科男的一大優(yōu)點(diǎn)也是一大通病, 項(xiàng)目中最大的風(fēng)險(xiǎn)固然是時(shí)間成本不夠祠肥,還有一個(gè)潛在的隱形殺手是項(xiàng)目鍍金武氓!一個(gè)項(xiàng)目必須100%完美才能上馬?非的花費(fèi)大部分時(shí)間去優(yōu)化一個(gè)1%性能提升的模塊? 不是的县恕。特別對(duì)于IT項(xiàng)目东羹,等到完美的那一刻, 也許這個(gè)項(xiàng)目永無(wú)上線之日忠烛。?



[GoXTX 下一代交易平臺(tái)技術(shù)供應(yīng)商](https://www.goxtx.com/index_cn.html)

[GoXTX one-stop solution for neXT generation eXchange](https://www.goxtx.com)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末属提,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子美尸,更是在濱河造成了極大的恐慌冤议,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件师坎,死亡現(xiàn)場(chǎng)離奇詭異恕酸,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)胯陋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門蕊温,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人遏乔,你說(shuō)我怎么就攤上這事义矛。” “怎么了按灶?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵症革,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我鸯旁,道長(zhǎng)噪矛,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任铺罢,我火速辦了婚禮艇挨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘韭赘。我一直安慰自己缩滨,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布泉瞻。 她就那樣靜靜地躺著脉漏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪袖牙。 梳的紋絲不亂的頭發(fā)上侧巨,一...
    開(kāi)封第一講書(shū)人閱讀 49,749評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音鞭达,去河邊找鬼司忱。 笑死皇忿,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的坦仍。 我是一名探鬼主播鳍烁,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼繁扎!你這毒婦竟也來(lái)了幔荒?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤锻离,失蹤者是張志新(化名)和其女友劉穎铺峭,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體汽纠,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年傀履,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了虱朵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡钓账,死狀恐怖碴犬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情梆暮,我是刑警寧澤服协,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站啦粹,受9級(jí)特大地震影響偿荷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜唠椭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一跳纳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧贪嫂,春花似錦寺庄、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至亮靴,卻和暖如春馍盟,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背台猴。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工朽合, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留俱两,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓曹步,卻偏偏與公主長(zhǎng)得像宪彩,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子讲婚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,737評(píng)論 25 707
  • 人生低谷遇知己尿孔, 砥礪奮進(jìn)為圖強(qiáng)! 攜手風(fēng)雨十七載筹麸, 萬(wàn)千青絲偶見(jiàn)霜活合。 含辛茹苦育雙鳳, 睿智前瞻好眼光物赶。 雄關(guān)漫...
    泥腿大憨閱讀 251評(píng)論 7 4
  • 身在職場(chǎng)要懂得用結(jié)果來(lái)證明自己的價(jià)值酵紫,抱怨和情緒是解決不了任何問(wèn)題的告嘲。如何不能控制自己的情緒,那就要好好反思奖地。 在...
    小賢人生閱讀 151評(píng)論 0 0
  • 小時(shí)候橄唬,媽媽給我們說(shuō)了很多;長(zhǎng)大了,該我們告訴她們了参歹。 媽媽說(shuō) 穿衣服不要太少 長(zhǎng)大了身體會(huì)不好 媽媽說(shuō) 吃東西不...
    申山老麟閱讀 237評(píng)論 1 5