Ang ebolusyon sa arkitektura sa trading ug clearing system sa Moscow Exchange. Bahin 2

Ang ebolusyon sa arkitektura sa trading ug clearing system sa Moscow Exchange. Bahin 2

Kini usa ka pagpadayon sa usa ka taas nga istorya bahin sa among tunok nga agianan sa paghimo og usa ka kusgan, taas nga sistema sa pagkarga nga nagsiguro sa operasyon sa Exchange. Ang unang bahin ania dinhi: habr.com/en/post/444300

Misteryoso nga sayop

Pagkahuman sa daghang mga pagsulay, ang gi-update nga sistema sa trading ug clearing gipatuman, ug nakasugat kami usa ka bug diin mahimo namon isulat ang usa ka detektib-mystical nga istorya.

Wala madugay pagkahuman sa paglansad sa panguna nga server, usa sa mga transaksyon ang giproseso nga adunay sayup. Bisan pa, maayo ang tanan sa backup server. Nahibal-an nga ang usa ka yano nga operasyon sa matematika sa pagkalkula sa exponent sa panguna nga server naghatag negatibo nga sangputanan gikan sa tinuud nga argumento! Nagpadayon kami sa among panukiduki, ug sa rehistro sa SSE2 nakit-an namon ang usa ka kalainan sa usa ka gamay, nga responsable sa pag-rounding kung nagtrabaho uban ang mga numero sa floating point.

Nagsulat kami usa ka yano nga utility sa pagsulay aron makalkulo ang exponent nga adunay set nga rounding bit. Nahibal-an nga sa bersyon sa RedHat Linux nga among gigamit, adunay usa ka bug sa pagtrabaho kauban ang function sa matematika kung gisulud ang dili maayo nga bit. Gi-report namon kini sa RedHat, pagkahuman nakadawat kami usa ka patch gikan kanila ug gilukot kini. Ang sayup wala na nahitabo, apan dili klaro kung diin gikan kini nga gamay? Ang function maoy responsable niini fesetround gikan sa pinulongang C. Among gisusi pag-ayo ang among code sa pagpangita sa gituohang sayop: among gisusi ang tanang posibleng mga sitwasyon; mitan-aw sa tanan nga mga gimbuhaton nga gigamit rounding; misulay sa paghimo sa usa ka napakyas nga sesyon; migamit sa lain-laing mga compiler uban sa lain-laing mga kapilian; Gigamit ang static ug dinamikong pagtuki.

Ang hinungdan sa sayup dili makit-an.

Unya gisugdan nila pagsusi ang hardware: nagpahigayon sila og load testing sa mga processor; gisusi ang RAM; Naghimo pa gani kami og mga pagsulay alang sa dili kaayo posible nga senaryo sa usa ka multi-bit error sa usa ka cell. Sa walay kapuslanan.

Sa katapusan, among gihusay ang usa ka teorya gikan sa kalibutan sa high-energy physics: ang pipila ka high-energy nga partikulo milupad sa among data center, mitusok sa bungbong sa case, naigo sa processor ug gipahinabo nga ang gatilyo sa gatilyo motapot niana nga gamay. Kini nga dili makatarunganon nga teorya gitawag nga "neutrino." Kung layo ka sa pisika sa partikulo: ang mga neutrino halos dili makig-uban sa gawas nga kalibutan, ug siguradong dili makaapekto sa operasyon sa processor.

Tungod kay dili posible nga makit-an ang hinungdan sa kapakyasan, ang "nakasala" nga server gikuha gikan sa operasyon kung adunay kaso.

Paglabay sa pipila ka panahon, nagsugod kami sa pagpalambo sa init nga backup nga sistema: gipaila namo ang gitawag nga "warm reserves" (warm) - asynchronous replicas. Nakadawat sila usa ka sapa sa mga transaksyon nga mahimong makit-an sa lainlaing mga sentro sa datos, apan ang mga pag-init dili aktibo nga nakig-uban sa ubang mga server.

Ang ebolusyon sa arkitektura sa trading ug clearing system sa Moscow Exchange. Bahin 2

Nganong nahimo kini? Kung ang backup server mapakyas, unya ang mainit nga gihigot sa main server mahimong bag-ong backup. Kana mao, human sa usa ka kapakyasan, ang sistema dili magpabilin sa usa ka nag-unang server hangtud sa katapusan sa sesyon sa trading.

Ug sa diha nga ang bag-ong bersyon sa sistema gisulayan ug gibutang sa operasyon, ang rounding bit error nahitabo pag-usab. Dugang pa, sa pagdugang sa gidaghanon sa mainit nga mga server, ang sayup nagsugod sa pagpakita nga mas kanunay. Sa samang higayon, ang vendor walay bisan unsa nga ipakita, tungod kay walay konkreto nga ebidensya.

Atol sa sunod nga pagtuki sa sitwasyon, mitungha ang usa ka teorya nga ang problema mahimong may kalabutan sa OS. Nagsulat kami og usa ka yano nga programa nga nagtawag sa usa ka function sa usa ka walay katapusan nga loop fesetround, nahinumdom sa kasamtangan nga kahimtang ug nagsusi niini pinaagi sa pagkatulog, ug kini gihimo sa daghang mga nakigkompetensya nga mga hilo. Gipili ang mga parameter alang sa pagkatulog ug ang gidaghanon sa mga hilo, nagsugod kami sa kanunay nga pagkopya sa gamay nga kapakyasan pagkahuman sa mga 5 minuto nga pagpadagan sa utility. Bisan pa, ang suporta sa Red Hat wala makahimo sa pagkopya niini. Ang pagsulay sa among uban nga mga server nagpakita nga ang adunay pipila nga mga processor lamang ang dali nga madaot. Sa parehas nga oras, ang pagbalhin sa usa ka bag-ong kernel nakasulbad sa problema. Sa katapusan, gipulihan lang namo ang OS, ug ang tinuod nga hinungdan sa bug nagpabilin nga dili klaro.

Ug sa kalit sa miaging tuig usa ka artikulo ang gipatik sa HabrΓ© "Giunsa nako nakit-an ang usa ka bug sa mga processor sa Intel Skylake" Ang sitwasyon nga gihulagway niini susama kaayo sa atoa, apan ang tagsulat nagpadayon sa imbestigasyon ug nagbutang sa unahan sa usa ka teorya nga ang sayup anaa sa microcode. Ug kung gi-update ang mga kernel sa Linux, gi-update usab sa mga tiggama ang microcode.

Dugang nga pag-uswag sa sistema

Bisan kung gitangtang namon ang sayup, kini nga istorya nagpugos kanamo sa pagkonsiderar pag-usab sa arkitektura sa sistema. Human sa tanan, wala kami mapanalipdan gikan sa pagsubli sa ingon nga mga bug.

Ang mosunod nga mga prinsipyo nahimong basehan alang sa sunod nga mga kalamboan sa reservation system:

  • Dili ka makasalig kang bisan kinsa. Ang mga server mahimong dili molihok sa husto.
  • Pagreserba sa kadaghanan.
  • Pagsiguro sa consensus. Ingon usa ka lohikal nga pagdugang sa kadaghanan nga reserbasyon.
  • Posible ang doble nga mga kapakyasan.
  • Kinabuhi. Ang bag-o nga hot standby scheme kinahanglan nga dili mas grabe pa kay sa nauna. Ang pagbaligya kinahanglang magpadayon nga walay hunong hangtod sa kataposang server.
  • Gamay nga pagtaas sa latency. Ang bisan unsang downtime nag-apil sa dako nga pinansyal nga kapildihan.
  • Minimal nga interaksyon sa network aron mapabilin ang latency nga ubos kutob sa mahimo.
  • Pagpili og bag-ong master server sa mga segundo.

Walay bisan usa sa mga solusyon nga anaa sa merkado nga haum kanamo, ug ang Raft protocol anaa pa sa iyang pagkabata, mao nga naghimo kami sa among kaugalingong solusyon.

Ang ebolusyon sa arkitektura sa trading ug clearing system sa Moscow Exchange. Bahin 2

Networking

Dugang sa sistema sa reserbasyon, gisugdan namo ang pag-modernize sa interaksyon sa network. Ang I/O subsystem naglangkob sa daghang mga proseso, nga adunay pinakagrabe nga epekto sa jitter ug latency. Uban sa gatusan nga mga proseso nga nagdumala sa mga koneksyon sa TCP, napugos kami sa kanunay nga pagbalhin sa taliwala nila, ug sa usa ka microsecond nga sukod kini usa ka gamay nga oras nga operasyon. Apan ang pinakagrabe nga bahin mao nga kung ang usa ka proseso nakadawat usa ka pakete alang sa pagproseso, gipadala kini sa usa ka pila sa SystemV ug dayon naghulat alang sa usa ka panghitabo gikan sa lain nga pila sa SystemV. Bisan pa, kung adunay daghang mga node, ang pag-abut sa usa ka bag-ong pakete sa TCP sa usa ka proseso ug ang pagdawat sa datos sa pila sa lain nagrepresentar sa duha nga nagkompetensya nga mga panghitabo alang sa OS. Sa kini nga kaso, kung walay pisikal nga mga processor nga magamit alang sa duha ka buluhaton, ang usa iproseso, ug ang ikaduha ibutang sa naghulat nga pila. Imposible nga matagna ang mga sangputanan.

Sa ingon nga mga sitwasyon, ang dinamikong pagkontrol sa prayoridad sa proseso mahimong magamit, apan kini magkinahanglan sa paggamit sa mga tawag sa sistema nga kusog sa kapanguhaan. Ingon usa ka sangputanan, mibalhin kami sa usa ka hilo gamit ang klasiko nga epoll, labi nga nadugangan ang katulin ug gipamubu ang oras sa pagproseso sa transaksyon. Gikuha usab namo ang bulag nga mga proseso sa komunikasyon sa network ug komunikasyon pinaagi sa SystemV, nga nakunhuran ang gidaghanon sa mga tawag sa sistema ug nagsugod sa pagpugong sa mga prayoridad sa mga operasyon. Sa I/O subsystem lang, posible nga makadaginot og mga 8-17 microseconds, depende sa senaryo. Kining single-threaded scheme gigamit nga wala mausab sukad niadto; ang usa ka epoll thread nga adunay margin igo na aron maserbisyohan ang tanang koneksyon.

Pagproseso sa Transaksyon

Ang nagkadako nga karga sa among sistema nanginahanglan pag-upgrade sa hapit tanan nga mga sangkap niini. Apan, ikasubo, ang stagnation sa pag-uswag sa mga tulin sa orasan sa processor sa bag-ohay nga mga tuig wala na nagpaposible sa pag-scale sa mga proseso sa head-on. Busa, nakahukom kami nga bahinon ang proseso sa Engine ngadto sa tulo ka lebel, nga ang pinakabusy niini mao ang sistema sa pagsusi sa risgo, nga nagtimbang-timbang sa pagkaanaa sa mga pundo sa mga account ug nagmugna sa mga transaksyon mismo. Apan ang salapi mahimong sa lain-laing mga kwarta, ug kini mao ang gikinahanglan aron sa paghunahuna sa unsa nga basehan sa pagproseso sa mga hangyo kinahanglan nga bahinon.

Ang lohikal nga solusyon mao ang pagbahin niini pinaagi sa salapi: ang usa ka server nagnegosyo sa dolyar, ang lain sa libra, ug ang ikatulo sa euro. Apan kung, sa ingon nga pamaagi, duha ka mga transaksyon ang gipadala aron makapalit sa lainlaing mga kwarta, nan ang problema sa desynchronization sa pitaka motungha. Apan ang pag-synchronize lisud ug mahal. Busa, husto ang pag-shard nga gilain sa mga pitaka ug gilain sa mga instrumento. Pinaagi sa dalan, kadaghanan sa mga pagbinayloay sa Kasadpan wala’y tahas sa pagsusi sa mga peligro sama sa among gibuhat, mao nga kasagaran kini gihimo sa offline. Kinahanglan namon nga ipatuman ang online nga pag-verify.

Atong ipatin-aw uban sa usa ka pananglitan. Gusto sa usa ka negosyante nga mopalit ug $30, ug ang hangyo moadto sa pag-validate sa transaksyon: among susihon kung gitugotan ba kini nga negosyante sa kini nga mode sa pamatigayon ug kung siya adunay kinahanglan nga mga katungod. Kung ang tanan naa sa kahusay, ang hangyo moadto sa sistema sa pag-verify sa peligro, i.e. sa pagsusi sa igo sa mga pundo sa pagtapos sa usa ka transaksyon. Adunay usa ka nota nga ang gikinahanglan nga kantidad sa pagkakaron gibabagan. Ang hangyo ipasa dayon sa sistema sa pamatigayon, nga mouyon o dili mouyon sa transaksyon. Ingnon ta nga ang transaksyon gi-aprobahan - unya ang sistema sa pag-verify sa risgo nagtimaan nga ang kwarta gi-unblock, ug ang mga rubles nahimong dolyar.

Sa kinatibuk-an, ang sistema sa pagsusi sa peligro naglangkob sa mga komplikado nga mga algorithm ug naghimo sa daghang mga kalkulasyon nga kusog kaayo sa kapanguhaan, ug dili yano nga susihon ang "balanse sa account", ingon sa una nga pagtan-aw.

Sa dihang gisugdan namo ang pagbahin sa proseso sa Engine ngadto sa mga lebel, nakasugat mi og problema: ang code nga anaa niadtong panahona aktibong migamit sa samang han-ay sa datos sa validation ug verification stages, nga nagkinahanglan sa pagsulat pag-usab sa tibuok code base. Ingon usa ka sangputanan, nanghulam kami usa ka teknik sa pagproseso sa mga panudlo gikan sa mga modernong processor: ang matag usa kanila gibahin sa gagmay nga mga yugto ug daghang mga aksyon ang gihimo nga managsama sa usa ka siklo.

Ang ebolusyon sa arkitektura sa trading ug clearing system sa Moscow Exchange. Bahin 2

Pagkahuman sa gamay nga pagpahiangay sa code, naghimo kami usa ka pipeline alang sa parehas nga pagproseso sa transaksyon, diin ang transaksyon gibahin sa 4 nga mga yugto sa pipeline: interaksyon sa network, validation, pagpatuman ug pagmantala sa resulta.

Ang ebolusyon sa arkitektura sa trading ug clearing system sa Moscow Exchange. Bahin 2

Atong tan-awon ang usa ka pananglitan. Kami adunay duha ka sistema sa pagproseso, serial ug parallel. Ang unang transaksyon miabot ug gipadala alang sa validation sa duha ka sistema. Ang ikaduha nga transaksyon diha-diha dayon moabut: sa usa ka parallel nga sistema kini diha-diha dayon gikuha sa pagtrabaho, ug sa usa ka sunod-sunod nga sistema kini gibutang sa usa ka pila nga naghulat alang sa unang transaksyon nga moagi sa kasamtangan nga proseso sa yugto. Sa ato pa, ang nag-unang bentaha sa pagproseso sa pipeline mao nga mas paspas ang pagproseso sa pila sa transaksyon.

Mao kini ang paagi nga among gihimo ang ASTS+ nga sistema.

Tinuod, dili usab ang tanan hapsay sa mga conveyor. Ingnon ta nga kita adunay usa ka transaksyon nga makaapekto sa data arrays sa usa ka silingan nga transaksyon; kini mao ang usa ka tipikal nga sitwasyon alang sa usa ka exchange. Ang ingon nga transaksyon dili mahimo sa usa ka pipeline tungod kay kini makaapekto sa uban. Kini nga kahimtang gitawag nga peligro sa datos, ug ang ingon nga mga transaksyon yano nga giproseso nga gilain: kung ang mga "paspas" nga mga transaksyon sa pila nahurot, ang pipeline mohunong, ang sistema nagproseso sa "hinay" nga transaksyon, ug dayon magsugod pag-usab sa pipeline. Maayo na lang, ang proporsyon sa maong mga transaksyon sa kinatibuk-ang dagan gamay ra kaayo, mao nga ang pipeline mohunong nga panagsa ra nga dili makaapekto sa kinatibuk-ang pasundayag.

Ang ebolusyon sa arkitektura sa trading ug clearing system sa Moscow Exchange. Bahin 2

Dayon nagsugod kami sa pagsulbad sa problema sa pag-synchronize sa tulo ka mga hilo sa pagpatay. Ang resulta mao ang usa ka sistema nga gibase sa usa ka ring buffer nga adunay fixed-size nga mga selula. Niini nga sistema, ang tanan gipailalom sa katulin sa pagproseso; ang datos dili gikopya.

  • Ang tanan nga umaabot nga mga pakete sa network mosulod sa yugto sa alokasyon.
  • Among ibutang kini sa usa ka laray ug markahan kini nga anaa alang sa stage #1.
  • Miabot na ang ikaduhang transaksyon, magamit na usab kini sa stage No.
  • Ang una nga pagproseso nga hilo nakakita sa magamit nga mga transaksyon, giproseso kini, ug gibalhin kini sa sunod nga yugto sa ikaduhang pagproseso nga hilo.
  • Giproseso dayon niini ang una nga transaksyon ug gi-flag ang katugbang nga cell deleted - kini anaa na karon alang sa bag-ong paggamit.

Ang tibuok nga pila giproseso niining paagiha.

Ang ebolusyon sa arkitektura sa trading ug clearing system sa Moscow Exchange. Bahin 2

Ang pagproseso sa matag yugto nagkinahanglan og mga yunit o napulo ka microseconds. Ug kung mogamit kita og standard nga OS synchronization schemes, nan mawad-an kita og dugang nga panahon sa pag-synchronize mismo. Mao nga nagsugod kami sa paggamit sa spinlock. Bisan pa, kini usa ka dili maayo nga porma sa usa ka real-time nga sistema, ug ang RedHat hugot nga wala magrekomendar sa pagbuhat niini, mao nga mag-apply kami og spinlock alang sa 100 ms, ug dayon mobalhin sa semaphore mode aron mawagtang ang posibilidad sa deadlock.

Ingon usa ka sangputanan, nakab-ot namon ang pasundayag nga hapit 8 milyon nga mga transaksyon matag segundo. Ug sa literal duha ka bulan sa ulahi artikulo bahin sa LMAX Disruptor nakakita kami usa ka paghulagway sa usa ka sirkito nga adunay parehas nga gamit.

Ang ebolusyon sa arkitektura sa trading ug clearing system sa Moscow Exchange. Bahin 2

Karon mahimo nga adunay daghang mga hilo sa pagpatay sa usa ka yugto. Ang tanan nga mga transaksyon giproseso sa usag usa, sa pagkasunud nga nadawat. Ingon nga resulta, ang peak performance misaka gikan sa 18 ka libo ngadto sa 50 ka libo nga mga transaksyon kada segundo.

Exchange risk management system

Wala’y limitasyon sa kahingpitan, ug sa wala madugay nagsugod kami pag-usab sa modernisasyon: sulod sa gambalay sa ASTS+, nagsugod kami sa pagbalhin sa mga sistema sa pagdumala sa peligro ug mga operasyon sa paghusay ngadto sa mga autonomous nga sangkap. Naghimo kami usa ka flexible nga modernong arkitektura ug usa ka bag-ong hierarchical nga modelo sa peligro, ug gisulayan nga gamiton ang klase kung mahimo fixed_point imbis nga double.

Apan usa ka problema ang mitungha dayon: kung giunsa ang pag-synchronize sa tanan nga lohika sa negosyo nga nagtrabaho sa daghang mga tuig ug ibalhin kini sa bag-ong sistema? Ingon usa ka sangputanan, ang una nga bersyon sa prototype sa bag-ong sistema kinahanglan nga biyaan. Ang ikaduha nga bersyon, nga karon nagtrabaho sa produksiyon, gibase sa parehas nga code, nga nagtrabaho sa parehas nga mga bahin sa pamatigayon ug peligro. Atol sa pag-uswag, ang pinakalisud nga buhaton mao ang git merge tali sa duha ka bersyon. Ang among kauban nga si Evgeniy Mazurenok naghimo niini nga operasyon matag semana ug matag higayon nga siya motunglo sa dugay nga panahon.

Kung nagpili usa ka bag-ong sistema, kinahanglan namon nga sulbaron dayon ang problema sa interaksyon. Kung nagpili usa ka data bus, kinahanglan nga masiguro ang lig-on nga jitter ug gamay nga latency. Ang network sa InfiniBand RDMA labing angay alang niini: ang kasagaran nga oras sa pagproseso 4 ka beses nga mas ubos kaysa sa 10 G Ethernet network. Apan ang nakadani kanamo mao ang kalainan sa mga porsyento - 99 ug 99,9.

Siyempre, ang InfiniBand adunay mga hagit. Una, lain nga API - ibverbs imbes nga mga socket. Ikaduha, halos walay kaylap nga magamit nga open source nga mga solusyon sa pagmemensahe. Gisulayan namo ang paghimo sa among kaugalingong prototype, apan kini nahimong lisud kaayo, mao nga gipili namo ang usa ka komersyal nga solusyon - Confinity Low Latency Messaging (kanhi IBM MQ LLM).

Unya mitungha ang tahas sa hustong pagbahin sa sistema sa peligro. Kung tangtangon ra nimo ang Risk Engine ug dili maghimo usa ka intermediate node, nan ang mga transaksyon gikan sa duha nga gigikanan mahimong isagol.

Ang ebolusyon sa arkitektura sa trading ug clearing system sa Moscow Exchange. Bahin 2

Ang gitawag nga Ultra Low Latency nga mga solusyon adunay usa ka reordering mode: ang mga transaksyon gikan sa duha ka mga tinubdan mahimong gihan-ay sa gikinahanglan nga han-ay sa dihang madawat; kini gipatuman gamit ang usa ka bulag nga channel alang sa pagbayloay og impormasyon mahitungod sa order. Apan wala pa namo gigamit kini nga mode: kini nagpakomplikado sa tibuok nga proseso, ug sa daghang mga solusyon wala kini gisuportahan. Dugang pa, ang matag transaksyon kinahanglan nga hatagan ug katugbang nga mga timestamp, ug sa among laraw kini nga mekanismo lisud kaayo nga ipatuman sa husto. Busa, gigamit namon ang klasiko nga laraw nga adunay usa ka broker sa mensahe, nga mao, sa usa ka dispatcher nga nag-apod-apod sa mga mensahe tali sa Risk Engine.

Ang ikaduha nga problema may kalabutan sa pag-access sa kliyente: kung adunay daghang mga Risk Gateway, ang kliyente kinahanglan nga magkonektar sa matag usa kanila, ug kini magkinahanglan mga pagbag-o sa layer sa kliyente. Gusto namon nga makalayo gikan niini sa kini nga yugto, mao nga ang karon nga disenyo sa Risk Gateway nagproseso sa tibuuk nga stream sa datos. Gilimitahan niini pag-ayo ang maximum throughput, apan gipasimple kaayo ang paghiusa sa sistema.

ang pagkadoble

Ang atong sistema kinahanglan nga walay usa ka punto sa kapakyasan, nga mao, ang tanan nga mga sangkap kinahanglan nga doblehon, lakip na ang mensahe broker. Among gisulbad kini nga problema gamit ang CLLM system: kini adunay RCMS cluster diin ang duha ka dispatcher mahimong magtrabaho sa master-slave mode, ug kung ang usa mapakyas, ang sistema awtomatikong mobalhin sa lain.

Pagtrabaho uban ang usa ka backup nga sentro sa datos

Ang InfiniBand gi-optimize alang sa operasyon isip usa ka lokal nga network, nga mao, alang sa pagkonektar sa mga kagamitan sa rack-mount, ug ang usa ka network sa InfiniBand dili mahimong ibutang sa taliwala sa duha ka mga sentro sa datos nga giapod-apod sa heyograpiya. Busa, gipatuman namo ang usa ka tulay/dispatser, nga nagkonektar sa pagtipig sa mensahe pinaagi sa regular nga mga network sa Ethernet ug nag-relay sa tanang mga transaksyon ngadto sa ikaduhang IB network. Kung kinahanglan namong molalin gikan sa usa ka sentro sa datos, makapili kami kung unsang sentro sa datos ang magamit karon.

Mga resulta

Ang tanan sa ibabaw wala nahimo sa usa ka higayon; nagkinahanglan kini og daghang mga pag-usab sa pagpalambo sa usa ka bag-ong arkitektura. Gibuhat namo ang prototype sulod sa usa ka bulan, apan milungtad og sobra sa duha ka tuig aron madala kini sa kondisyon sa pagtrabaho. Gisulayan namon nga makab-ot ang labing kaayo nga pagkompromiso tali sa pagdugang sa oras sa pagproseso sa transaksyon ug pagdugang sa kasaligan sa sistema.

Tungod kay ang sistema gi-update pag-ayo, among gipatuman ang data recovery gikan sa duha ka independente nga mga tinubdan. Kung ang tindahan sa mensahe dili molihok sa husto tungod sa usa ka hinungdan, mahimo nimong makuha ang log sa transaksyon gikan sa ikaduha nga gigikanan - gikan sa Risk Engine. Kini nga prinsipyo gisunod sa tibuok sistema.

Lakip sa ubang mga butang, napreserbar namo ang API sa kliyente aron walay mga broker o bisan kinsa nga magkinahanglan og mahinungdanong rework alang sa bag-ong arkitektura. Kinahanglan namon nga usbon ang pipila ka mga interface, apan dili kinahanglan nga maghimo hinungdanon nga mga pagbag-o sa operating model.

Gitawag namo ang kasamtangan nga bersyon sa among plataporma nga Rebus - isip abbreviation sa duha ka labing mamatikdan nga mga inobasyon sa arkitektura, Risk Engine ug BUS.

Ang ebolusyon sa arkitektura sa trading ug clearing system sa Moscow Exchange. Bahin 2

Sa sinugdan, gusto namong igahin lamang ang bahin sa paghawan, apan ang resulta usa ka dako nga sistema nga gipang-apod-apod. Ang mga kliyente mahimo nang makig-uban sa bisan hain sa Trade Gateway, sa Clearing Gateway, o pareho.

Unsa ang among nakab-ot sa katapusan:

Ang ebolusyon sa arkitektura sa trading ug clearing system sa Moscow Exchange. Bahin 2

Gipakunhod ang lebel sa latency. Uban sa gamay nga gidaghanon sa mga transaksyon, ang sistema nagtrabaho sama sa miaging bersyon, apan sa samang higayon makasugakod sa mas taas nga load.

Ang peak performance misaka gikan sa 50 ka libo ngadto sa 180 ka libo nga mga transaksyon kada segundo. Ang usa ka dugang nga pagtaas gibabagan sa usa ra nga sapa sa pagpares sa order.

Adunay duha ka mga paagi alang sa dugang nga pag-uswag: pagparis sa pagpares ug pagbag-o sa paagi sa pagtrabaho niini sa Gateway. Karon ang tanan nga mga Gateway naglihok sumala sa usa ka laraw sa pagkopya, nga, sa ilawom sa ingon nga pagkarga, dili na molihok nga normal.

Sa katapusan, makahatag ako pipila ka tambag sa mga nagtapos sa mga sistema sa negosyo:

  • Pag-andam alang sa pinakagrabe sa tanang panahon. Ang mga problema kanunay nga motungha nga wala damha.
  • Kasagaran imposible nga dali nga mabag-o ang arkitektura. Ilabi na kung kinahanglan nimo nga makab-ot ang labing kataas nga kasaligan sa daghang mga timailhan. Ang mas daghang mga node, mas daghang kapanguhaan ang gikinahanglan alang sa suporta.
  • Ang tanan nga kostumbre ug proprietary nga mga solusyon magkinahanglan og dugang nga mga kapanguhaan alang sa panukiduki, suporta ug pagmentinar.
  • Ayaw ihunong ang pagsulbad sa mga isyu sa pagkakasaligan sa sistema ug pagkaayo pagkahuman sa mga kapakyasan; tagda kini sa una nga yugto sa disenyo.

Source: www.habr.com

Idugang sa usa ka comment