paint-brush
Maano a Lefase la Sebele a go Kgotlelela a Diprotšeke tša Fintechka@ymatigoosa
66,650 dipuku tša go balwa
66,650 dipuku tša go balwa

Maano a Lefase la Sebele a go Kgotlelela a Diprotšeke tša Fintech

ka Dmitrii Pakhomov8m2024/06/26
Read on Terminal Reader
Read this story w/o Javascript

Nako e telele kudu; Go bala

Go kgotlelela ka go disoftware go šupa bokgoni bja tirišo bja go tšwela pele go šoma ka thelelo le ka mo go ka botwago, gaešita le ge go lebane le ditaba tše di sa letelwago goba go palelwa.

People Mentioned

Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Maano a Lefase la Sebele a go Kgotlelela a Diprotšeke tša Fintech
Dmitrii Pakhomov HackerNoon profile picture
0-item

Go kgotlelela ka go disoftware go šupa bokgoni bja tirišo bja go tšwela pele go šoma ka thelelo le ka mo go ka botwago, gaešita le ge go lebane le ditaba tše di sa letelwago goba go palelwa. Ka diprotšekeng tša Fintech go kgotlelela go bohlokwa kudu ka lebaka la mabaka a mmalwa. Sa mathomo, dikhamphani di gapeletšega go fihlelela dinyakwa tša taolo gomme balaodi ba ditšhelete ba gatelela go kgotlelela ga tshepedišo go hlokomela go tsepama ka gare ga tshepedišo. Go feta fao, go ata ga didirišwa tša titšithale le go ithekga ka baabi ba ditirelo ba mokgatlo wa boraro go pepentšha dikgwebo tša Fintech ditšhošetšong tše di phagamego tša tšhireletšo. Go kgotlelela gape go thuša go fokotša dikotsi tša go kgaotša ga mošomo tšeo di hlolwago ke mabaka a go fapafapana a go swana le ditšhošetšo tša inthanete, mauba a malwetši, goba ditiragalo tša dipolitiki tša lefase, go šireletša ditiro tša motheo tša kgwebo le dithoto tše bohlokwa.

Ka dipaterone tša go kgotlelela, re kwešiša sete ya mekgwa ye mekaone le maano ao a hlamilwego go netefatša gore softwere e ka kgotlelela ditšhitišo le go hlokomela ditiro tša yona. Dipaterone tše di šoma bjalo ka malokwa a polokego, di fa mekgwa ya go swaragana le diphošo, go laola morwalo, le go fola go tšwa go go palelwa, ka go realo di netefatša gore dikgopelo di dula di tiile ebile di ka botwa ka fase ga maemo a mabe.


Maano a tlwaelegilego kudu a go kgotlelela a akaretša bulkhead, cache, fallback, retry, le circuit breaker. Sehlogong se, ke tla di ahlaahla ka botlalo, ka mehlala ya mathata ao di ka thušago go a rarolla.

Bulkhead ya go šireletša


A re lebelele peakanyo ye e lego ka mo godimo. Re na le tirišo ye e tlwaelegilego kudu yeo e nago le di-backend tše mmalwa ka morago ga rena go hwetša ya data ye nngwe go tšwa go yona. Go na le bareki ba mmalwa ba HTTP bao ba kgokagantšwego le di-backend tše. Go hwetšagala gore ka moka ga bona ba abelana letamo le tee la kgokagano! Le gape methopo ye mengwe go swana le CPU le RAM.


Go tla direga eng, Ge e ba e nngwe ya di-backend e itemogela mohuta o itšego wa mathata ao a feleletšago ka go khutša ga kgopelo mo go phagamego? Ka lebaka la nako ya karabelo ya godimo, letamo ka moka la kgokagano le tla dulwa ka botlalo ke dikgopelo tšeo di emetšego dikarabo go tšwa go backend1. Ka lebaka leo, dikgopelo tšeo di reretšwego backend2 le backend3 tše di phetšego gabotse di ka se kgone go tšwela pele ka gobane letamo le fedile. Se se ra gore go palelwa go ye nngwe ya di-backend tša rena go ka hlola go palelwa go ralala le tirišo ka moka. Ka kgopolo, re nyaka fela gore mošomo wo o amanago le backend ye e palelwago o itemogele go senyega, mola tirišo ka moka e tšwela pele go šoma ka tlwaelo.


Mohlala wa Bulkhead ke eng?


Polelo ye, Bulkhead pattern, e tšwa go go aga dikepe, e akaretša go hlola diphapoši tše mmalwa tše di lego lekatana ka gare ga sekepe. Ge e ba go dutla go direga ka phapošing e nngwe, e tlatša meetse, eupša diphapoši tše dingwe di dula di sa kgongwe. Go ikarola mo go thibela sekepe ka moka go nwelela ka lebaka la go tshela ga tee.

Re ka Diriša Bjang Paterone ya Bulkhead go Lokiša Bothata bjo?



Paterone ya Bulkhead e ka šomišwa go arola mehuta ye e fapanego ya methopo ka gare ga tirišo, go thibela go palelwa karolong e tee go ama tshepedišo ka moka. Kamoo re ka e dirišago bothateng bja rena še:


  1. Go Arola Matamo a Kgokagano Re ka hlama matamo a kgokagano a aroganego bakeng sa backend ye nngwe le ye nngwe (backend1, backend2, backend3). Se se netefatša gore ge e le gore backend1 e itemogela dinako tše di phagamego tša karabelo goba go palelwa, letamo la yona la kgokagano le tla fedišwa ka go ikemela, la tlogela matamo a kgokagano a backend2 le backend3 a sa amege. Go ikarola mo go dumelela di-backend tše di phetšego gabotse go tšwela pele go šoma dikgopelo ka tlwaelo.
  2. Go Lekanyetša Methopo ya Mešomo ya Lemorago Ka go šomiša Dibulkhead, re ka aba methopo ye e itšego ya mediro ya morago, go swana le tshepedišo ya sehlopha goba mešomo ye e rulagantšwego. Se se thibela mediro ye go ja methopo ye e nyakegago bakeng sa ditiro tša nako ya kgonthe. Ka mohlala, re ka thibela palo ya ditlhale goba tšhomišo ya CPU yeo e neetšwego go mešomo ya ka morago, ra netefatša gore methopo ye e lekanego e dula e le gona bakeng sa go swara dikgopelo tše di tsenago.
  3. Go Beakanya Dithibelo go Dikgopelo tše di Tsenago Dibulkhead di ka dirišwa gape go lekanyetša palo ya dikgopelo tše di tsenago go dikarolo tše di fapanego tša tirišo. Go fa mohlala, re ka beakanya moedi wo mogolo wa palo ya dikgopelo tšeo di ka šongwago ka nako e tee bakeng sa tirelo ye nngwe le ye nngwe ya godimo. Se se thibela backend efe goba efe e tee go gateletša tshepedišo gomme se netefatša gore backends tše dingwe di ka tšwela pele go šoma le ge e le gore e tee e ka fase ga morwalo wo boima.

Сache e bohloko


A re re ditshepedišo tša rena tša backend di na le kgonagalo ya fase ya go kopana le diphošo ka botee. Le ge go le bjalo, ge tshepedišo e akaretša go botšiša di-backend tše ka moka ka go bapelana, ye nngwe le ye nngwe e ka bušetša phošo ka go ikemela. Ka lebaka la gore diphošo tše di direga ka go ikemela, kgonagalo ya kakaretšo ya phošo tirišong ya rena e phagame go feta kgonagalo ya phošo ya backend efe goba efe e tee. Kgonagalo ya phošo ya go kgoboketšwa e ka balwa ka go šomiša formula P_total = 1−(1−p) ^ n, moo n e lego palo ya ditshepedišo tša ka morago.


Ka mohlala, ge re na le di-backend tše lesome, e nngwe le e nngwe e na le kgonagalo ya phošo ya p = 0.001 (yeo e lebanego le SLA ya 99.9%), kgonagalo ya phošo yeo e tšweletšwago ke:


P_palomoka = 1− (1 - 0.001) ^ 10 = 0.009955


Se se ra gore SLA ya rena ye e kopantšwego e theogela go mo e ka bago 99%, e bontšha ka fao go botega ka kakaretšo go fokotšegago ge go botšišwa di-backend tše ntši ka go bapelana. Go fokotša taba ye, re ka phethagatša cache ya ka gare ga memori.

Kamoo re ka e rarollago ka cache ya ka gare ga memori


Cache ya ka gare ga memori e šoma bjalo ka buffer ya data ya lebelo le legolo, e boloka data yeo e fihlelelwago gantši le go fediša go nyakega ga go e tšea go tšwa methopong yeo e ka bago e nanya nako le nako. Ka ge di-cache tšeo di bolokilwego ka gare ga memori di na le kgonagalo ya 0% ya phošo ge di bapetšwa le go lata datha ka netiweke, di oketša kudu go botega ga tirišo ya rena. Go feta moo, go boloka dilo ka gare go fokotša sephethephethe sa netweke, go fokotša gape kgonagalo ya diphošo. Ka lebaka leo, ka go šomiša cache ya ka gare ga memori, re ka fihlelela seelo sa phošo sa fase le go feta ka tirišong ya rena ge re bapetšwa le ditshepedišo tša rena tša ka morago. Go oketša moo, di-cache tša ka gare ga memori di nea go hwetša ya data ka lebelo go feta go lata mo go theilwego go netweke, ka go rialo di fokotša go khutša ga tirišo—e lego mohola o lemogegago.

Cache ya ka gare ga memori: Di-cache tše di hlamilwego ka bowena

Bakeng sa ya data yeo e hlamilwego ka bowena, go swana le diprofaele tša mosediriši goba ditšhišinyo, go šomiša di-cache tša ka gare ga memori le gona go ka šoma gabotse kudu. Eupša re swanetše go netefatša gore dikgopelo ka moka go tšwa go mosediriši di ya ka go se fetoge mohlaleng wa tirišo wo o swanago go šomiša datha yeo e bolokilwego bakeng sa bona, yeo e nyakago dithulaganyo tše di kgomarelago. Go phethagatša dithulaganyo tša go kgomarela e ka ba tlhohlo, eupša bakeng sa boemo bjo, ga re hloke mekgwa ye e raraganego. Go lekalekanya gape sephethephethe se senyenyane go a amogelega, ka fao algorithm ya go lekalekanya mošomo ye e tsepamego go swana le hashing ye e sa fetogego e tla lekana.


Se sengwe gape, ge go ka direga gore node e palelwe, hashing ye e sa fetogego e netefatša gore ke fela badiriši bao ba amanago le node yeo e paletšwego bao ba fetago go lekalekanya gape, go fokotša tšhitišo ya tshepedišo. Mokgwa wo o nolofatša taolo ya di-cache tše di hlamilwego ka bowena le go godiša go tsepama ka kakaretšo le tshepedišo ya tirišo ya rena.

Cache ya ka gare ga memori: phetolelo ya datha ya selegae



Ge e ba ya data yeo re ikemišeditšego go e boloka e le bohlokwa kudu gomme e dirišwa kgopelong e nngwe le e nngwe yeo tshepedišo ya rena e e swarago, go swana le melawana ya phihlelelo, dithulaganyo tša peeletšo goba ditheo tše dingwe tše bohlokwa mo domain ya rena—mothopo wa data ye o ka baka ntlha e kgolo ya go palelwa tshepedišong ya rena. Go rarolla tlhohlo ye, mokgwa o mongwe ke go boeletša datha ye ka botlalo thwii ka gare ga memori ya tirišo ya rena.


Boemong bjo, ge e le gore bophagamo bja datha mohloding bo laolega, re ka thoma tshepedišo ka go taonelouta seswantšho sa datha ye mathomong a tirišo ya rena. Ka morago ga moo, re ka amogela ditiragalo tša diapdeite go netefatša gore ya data yeo e bolokilwego e dula e nyalantšhwa le mothopo. Ka go amogela mokgwa wo, re godiša go botega ga go fihlelela ya data ye ya bohlokwa, ka ge go hwetša go gongwe le go gongwe go direga ka go lebanya go tšwa go memori ka kgonagalo ya phošo ya 0%. Go tlaleletša, go lata ya data go tšwa memoring ke ka lebelo ka mo go kgethegilego, ka go realo go dira gore tshepedišo ya tirišo ya rena e šome gabotse. Leano le le fokotša ka mo go atlegilego kotsi yeo e amanago le go ithekga ka mothopo wa datha wa ka ntle, go netefatša phihlelelo ye e sa fetogego le ye e ka botwago ya tshedimošo ye bohlokwa bakeng sa tshepedišo ya tirišo ya rena.

Reloadable config ya

Le ge go le bjalo, tlhokego ya go taonelouta datha ka go thoma ga tirišo, ka go realo e diegiša tshepedišo ya go thoma, e roba ye nngwe ya melawana ya ‘tirišo ya mabaka a 12’ yeo e buelelago go thoma ga tirišo ka pela. Eupša, ga re nyake go lahlegelwa ke mehola ya go šomiša caching. Go rarolla bothata bjo, a re hlahlobeng ditharollo tšeo di ka bago gona.


Go thoma ka lebelo go bohlokwa kudu, kudukudu bakeng sa diforamo tša go swana le Kubernetes, tšeo di ithekgilego ka go huduga ka pela ga tirišo go di-node tše di fapanego tša mmele. Ka mahlatse, Kubernetes e ka laola dikgopelo tša go thoma ka go nanya ka go šomiša dikarolo tša go swana le dinyakišišo tša go thoma.


Tlhohlo ye nngwe yeo re ka lebeletšanago le yona ke go mpshafatša dipeakanyo ge tirišo e šoma. Gantši, go beakanya dinako tša cache goba go fela ga nako ya kgopelo go a nyakega go rarolla ditaba tša tšweletšo. Le ge re ka kgona go tsenya ka pela difaele tša peakanyo tše di mpshafaditšwego tirišong ya rena, go diriša diphetogo tše ka tlwaelo go nyaka go thoma gape. Ka nako ya go thoma ye e okeditšwego ya tirišo ye nngwe le ye nngwe, go thoma gape ka go kgokologa go ka diegiša kudu go tsenya ditokišo go badiriši ba rena.


Go rarolla se, tharollo e tee ke go boloka dipeakanyo ka go phetogo ya nako e tee gomme o be le khoele ya ka morago nako le nako e mpshafatša. Le ge go le bjalo, ditekanyetšo tše itšego, go swana le go fela ga nako ya kgopelo ya HTTP, di ka nyaka go thoma gape bareki ba HTTP goba polokelo ya tshedimošo ge peakanyo ye e swanetšego e fetoga, go hlola tlhohlo yeo e ka bago gona. Lega go le bjalo, bareki ba bangwe, go swana le mootledi wa Cassandra bakeng sa Java, ba thekga go laetša gape ka go itiragalela ga dipeakanyo, e lego seo se nolofatšago tshepedišo ye.


Go phethagatša dipeakanyo tše di ka laetšwago gape go ka fokotša khuetšo ye mpe ya dinako tše telele tša go thoma ga tirišo le go fa mehola ya tlaleletšo, go swana le go nolofatša diphethagatšo tša folaga ya tšobotsi. Mokgwa wo o re kgontšha go hlokomela go botega ga tirišo le go arabela mola re laola ka bokgoni diapdeite tša peakanyo.

Fallback ya morago

Bjale a re lebelele bothata bjo bongwe: ka tshepedišong ya rena, ge kgopelo ya mosediriši e amogetšwe le go šongwa ka go romela potšišo go backend goba polokelo ya tshedimošo, ka dinako tše dingwe, karabo ya phošo e a amogelwa go e na le ya data yeo e letetšwego. Ka morago ga moo, tshepedišo ya rena e arabela modiriši ka ‘phošo’.


Le ge go le bjalo, maemong a mantši, go ka kgethwa kudu go bontšha datha yeo e fetilwego ke nako gannyane gotee le molaetša wo o laetšago gore go na le tiego ya go hlabolla datha, go e na le go tlogela modiriši ka molaetša wo mogolo wa phošo wo mohwibidu.



Go rarolla taba ye le go kaonafatša boitshwaro bja tshepedišo ya rena, re ka phethagatša mokgwa wa Fallback. Kgopolo yeo e lego ka morago ga mohlala wo e akaretša go ba le mothopo wa bobedi wa datha, wo o ka bago le datha ya boleng bja fase goba ya go ba ye mpsha ge e bapetšwa le mothopo wa mathomo. Ge mothopo wa mathomo wa datha ga o hwetšagale goba o bušetša phošo, tshepedišo e ka wela morago go hwetša datha go tšwa mothopong wo wa bobedi, ya netefatša gore mohuta wo mongwe wa tshedimošo o tšweletšwa go modiriši go e na le go bontšha molaetša wa phošo.

Leka gape


Ge o lebelela seswantšho se se lego ka mo godimo, o tla lemoga go swana magareng ga taba yeo re lebanego le yona bjale le yeo re kopanego le yona ka mohlala wa cache.


Go e rarolla, re ka nagana ka go phethagatša mohlala wo o tsebjago e le go leka gape. Go e na le go ithekga ka di-cache, tshepedišo e ka hlangwa gore e romele kgopelo gape ka go itiragalela ge go ka ba le phošo. Mokgwa wo wa go leka gape o fa mokgwa wo mongwe wo bonolo gomme o ka fokotša ka mo go atlegilego kgonagalo ya diphošo tirišong ya rena. Go fapana le go boloka tšhelete, yeo gantši e nyakago mekgwa ye e raraganego ya go se šome ga cache go swara diphetogo tša datha, go leka gape dikgopelo tše di paletšwego go bonolo go di phethagatša. Bjalo ka ge go se šome ga cache go tšewa ka bophara bjalo ka o mongwe wa mešomo ye e hlohlago kudu ka go boentšeneare bja disoftware, go amogela leano la go leka gape go ka nolofatša go swara diphošo le go kaonafatša go kgotlelela ga tshepedišo.

Sefepi sa Potologo


Lega go le bjalo, go amogela leano la go leka gape ntle le go ela hloko ditla-morago tšeo di ka bago gona go ka lebiša mathateng a oketšegilego.


A re naganeng gore e nngwe ya di-backend tša rena e itemogela go palelwa. Boemong bjo bjalo, go thoma go leka gape go backend yeo e palelwago go ka feleletša ka koketšego ye kgolo ya bophagamo bja sephethephethe. Go oketšega mo ga tšhoganetšo ga sephethephethe go ka gateletša backend, gwa gakatša go palelwa gomme gwa baka mafelelo a cascade go ralala le tshepedišo.


Go lebeletšana le tlhohlo ye, go bohlokwa go tlaleletša mohlala wa go leka gape ka mohlala wa sefepi sa potologo. Sefepi sa potologo se šoma bjalo ka mokgwa wa tšhireletšo wo o hlokomelago tekanyo ya phošo ya ditirelo tša ka tlase ga noka. Ge seelo sa phošo se feta moedi wo o hlalošitšwego e sa le pele, sefepi sa potologo se šitiša dikgopelo go tirelo yeo e amegilego ka nako ye e laeditšwego. Nakong ye, tshepedišo e ithibela go romela dikgopelo tša tlaleletšo go dumelela nako ya tirelo yeo e palelwago go fola. Ka morago ga nako yeo e kgethilwego, sefepi sa tikologo se dumelela ka kelohloko palo e lekanyeditšwego ya dikgopelo go feta, e kgonthišetša ge e ba tirelo e tsepame. Ge e ba tirelo e boetše sekeng, sephethephethe se se tlwaelegilego se tsošološwa ganyenyane-ganyenyane; go sego bjalo, potologo e dula e bulegile, e tšwela pele go thibela dikgopelo go fihlela tirelo e thoma gape go šoma ka tlwaelo. Ka go kopanya mohlala wa sefefo sa potologo go bapa le tlhaologanyo ya go leka gape, re ka laola maemo a phošo ka mo go atlegilego le go thibela go imelwa kudu ga tshepedišo nakong ya go palelwa ga backend.

Go Phuthelela

Ge re phetha, ka go phethagatša dipaterone tše tša go kgotlelela, re ka maatlafatša dikgopelo tša rena kgahlanong le maemo a tšhoganetšo, ra hlokomela go hwetšagala mo go phagamego, le go tliša maitemogelo ao a se nago mathata go badiriši. Go tlaleletša, ke rata go gatelela gore telemetry ke sedirišwa se sengwe gape seo se sa swanelago go hlokomologwa ge go fiwa go kgotlelela ga projeke. Dilog tše botse le dimetriki di ka godiša kudu boleng bja ditirelo le go fa temogo ya bohlokwa ka ga tshepedišo ya tšona, go thuša go tšea diphetho tše di nago le tsebo tša go di kaonafatša go ya pele.