![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
Ku tiyisela eka software swi vula vuswikoti bya xitirhisiwa xo ya emahlweni xi tirha hi ndlela leyinene na ku tshembheka, hambi ku ri loko ku langutane na timhaka leti nga languteriwangiki kumbe ku tsandzeka. Eka tiphurojeke ta Fintech ku tiyisela i ka nkoka swinene hikokwalaho ka swivangelo swo hlaya. Xo sungula, tikhamphani ti boheka ku fikelela swilaveko swa milawu naswona valawuri va swa timali va kandziyisa ku tiyisela ka matirhelo ku hlayisa ntshamiseko endzeni ka sisiteme. Ku tlula kwalaho, ku andza ka switirhisiwa swa xidijitali na ku titshega hi vaphakeri va vukorhokeri bya vanhu va vunharhu swi veka mabindzu ya Fintech ekhombyeni ra minxungeto ya vuhlayiseki leyi tlakukeke. Ku tiyisela ku tlhela ku pfuneta ku hunguta makhombo ya ku yimisiwa ka ntirho loku vangiwaka hi swilo swo hambana swo fana na minxungeto ya xiyenge xa inthanete, mintungu, kumbe swiendlakalo swa geopolitical, ku hlayisa matirhelo ya mabindzu ya nkoka na nhundzu ya nkoka.
Hi swivumbeko swa ku tiyisela, hi twisisa sete ya maendlelo lamanene na tindlela leti endleriweke ku tiyisisa leswaku sofwere yi nga tiyisela ku kavanyeteka na ku hlayisa matirhelo ya yona. Tiphetheni leti ti tirha tani hi ti safety nets, ti nyika tindlela to khoma swihoxo, ku lawula ndzhwalo, na ku vuyelela eka ku tsandzeka, hi ndlela yaleyo ku tiyisisa leswaku switirhisiwa swi tshama swi tiyile naswona swi tshembheka ehansi ka swiyimo swo biha.
Maendlelo lawa ya tolovelekeke swinene yo tiyisela ya katsa bulkhead, cache, fallback, retry, na circuit breaker. Eka xihloko lexi, ndzi ta bula hi swona hi vuxokoxoko, hi swikombiso swa swiphiqo leswi swi nga pfunaka ku swi tlhantlha.
A hi languteni eka xiyimo lexi nga laha henhla. Hi na application leyi tolovelekeke swinene leyi nga na ti backends to hlaya endzhaku ka hina ku kuma data yo karhi eka yona. Kuna tiklayenti to hlaya ta HTTP leti hlanganisiweke eka ti backends leti. Swi tikomba onge hinkwavo ka vona va avelana xidziva xa vuhlanganisi xin’we! Naswona na switirhisiwa swin’wana swo fana na CPU na RAM.
Xana ku ta humelela yini, Loko yin’wana ya ti-backend yi hlangana na muxaka wo karhi wa swiphiqo leswi endlaka leswaku ku va na ku hlwela ka xikombelo xa le henhla? Hikwalaho ka nkarhi wa le henhla wa nhlamulo, xidziva hinkwaxo xa vuhlanganisi xi ta va xi tele hi swikombelo leswi yimeleke tinhlamulo ku suka eka backend1. Hikwalaho ka sweswo, swikombelo leswi kunguhatiweke eka backend2 na backend3 leswi hanyeke kahle a swi nge swi koti ku ya emahlweni hikuva xidziva xi herile. Leswi swi vula leswaku ku tsandzeka eka yin’wana ya ti-backend ta hina swi nga vanga ku tsandzeka eka xitirhisiwa hinkwaxo. Hi ndlela leyinene, hi lava ntsena leswaku ntirho lowu fambelanaka na backend leyi hlulekaka wu va na ku onhaka, kasi xitirhisiwa hinkwaxo xi ya emahlweni xi tirha hi ntolovelo.
Xana Xivumbeko xa Bulkhead i yini?
Rito leri, Bulkhead pattern, ri huma eka ku aka swikepe, ri katsa ku tumbuluxa swiyenge swo hlayanyana leswi nga swoxe endzeni ka xikepe. Loko ku vupfa ku humelela eka xiyenge xin’wana, xi tala hi mati, kambe swiyenge leswin’wana swi tshama swi nga khumbekanga. Ku tihambanisa loku ku sivela xikepe hinkwaxo ku nwela hikwalaho ka ku tshoveka kun’we.
Xivumbeko xa Bulkhead xi nga tirhisiwa ku hambanyisa tinxaka to hambana ta switirhisiwa endzeni ka xitirhisiwa, ku sivela ku tsandzeka eka xiphemu xin’we ku khumba sisiteme hinkwayo. Hi leyi ndlela leyi hi nga yi tirhisaka ha yona eka xiphiqo xa hina:
A hi nge tisisiteme ta hina ta le ndzhaku ti na ku koteka ka le hansi ko hlangana na swihoxo hi swoxe. Kambe loko ntirho wu katsa ku vutisa ti-backend leti hinkwato hi ku fambisana, yin’wana ni yin’wana yi nga vuyisa xihoxo hi ku tiyimela. Hikuva swihoxo leswi swi humelela hi ku tiyimela, ku koteka hinkwako ka xihoxo eka xitirhisiwa xa hina ku le henhla ku tlula ku koteka ka xihoxo xa backend yin’wana na yin’wana. Ku koteka ka xihoxo lexi hlengeletiweke ku nga hlayiwa hi ku tirhisa fomula ya P_total=1−(1−p)^n, laha n ku nga nhlayo ya tisisiteme ta le ndzhaku.
Xikombiso, loko hi ri na khume ra ti-backend, yin’wana na yin’wana yi ri na ku koteka ka xihoxo ka p=0.001 (leswi fambelanaka na SLA ya 99.9%), ku koteka ka xihoxo loku humelelaka i:
P_nhlayo hinkwayo=1−(1−0.001)^10=0.009955
Leswi swi vula leswaku SLA ya hina leyi hlanganisiweke yi hunguteka ku ya eka kwalomu ka 99%, leswi kombisaka hilaha ku tshembheka hinkwako ku hungutaka hakona loko ku vutisiwa ti-backend to tala hi ku fambisana. Ku hunguta mhaka leyi, hi nga tirhisa cache ya le ndzeni ka memori.
Cache ya le ndzeni ka memori yi tirha tanihi buffer ya data ya rivilo lerikulu, yi hlayisa data leyi nghenaka nkarhi na nkarhi na ku herisa xilaveko xo yi teka eka swihlovo leswi nga ha nonokaka nkarhi wun’wana na wun’wana. Tanihi leswi tikhexe leti hlayisiweke eka memori ti nga na 0% wa nkarhi wa xihoxo loko ti pimanisiwa na ku teka datha eka netiweke, ti engetela swinene ku tshembheka ka xitirhisiwa xa hina. Ku tlula kwalaho, ku hlayisa swilo swi hunguta thrafikhi ya netiweke, leswi yaka emahlweni swi hunguta nkarhi wa swihoxo. Hikwalaho, hi ku tirhisa cache ya le ndzeni ka memori, hi nga fikelela mpimo wa swihoxo wa le hansi swinene eka xitirhisiwa xa hina loko hi pimanisiwa na tisisiteme ta hina ta le ndzhaku. Ku engetela kwalaho, ti- cache leti nga endzeni ka memori ti nyikela ku vuyisa data hi ku hatlisa ku tlula ku teka loku sekeriweke eka netiweke, xisweswo ku hunguta ku hlwela ka xitirhisiwa—ku nga vuyelo lebyi xiyekaka.
Eka datha leyi endleriweke munhu hi xiyexe, ku fana na tiphrofayili ta vatirhisi kumbe switsundzuxo, ku tirhisa tikhexe ta le ndzeni ka memori na swona swi nga tirha swinene. Kambe hi fanele ku tiyisisa leswaku swikombelo hinkwaswo leswi humaka eka mutirhisi swi tshama swi ri karhi swi ya eka xikombiso xa xitirhisiwa lexi fanaka ku tirhisa datha leyi hlayisiweke eka swona, leswi lavaka tisexini to namarhela. Ku tirhisa swiyenge swo namarhela swi nga va ntlhontlho, kambe eka xiyimo lexi, a hi lavi tindlela to rharhangana. Ku ringanisela nakambe ka thrafikhi lokuntsongo swa amukeleka, kutani algorithm yo ringanisela ndzhwalo leyi tiyeke ku fana na hashing leyi nga cincekiki yi ta enela.
Lexi nga xa nkoka, loko ku ri na ku tsandzeka ka node, hashing leyi nga cincekiki yi tiyisisa leswaku i vatirhisi ntsena lava fambelanaka na node leyi tsandzekeke lava endlaka rebalancing, ku hunguta ku kavanyeteka eka sisiteme. Endlelo leri ri olovisa vulawuri bya tikhexe leti endleriweke munhu hi xiyexe naswona ri ndlandlamuxa ku tshamiseka hinkwako na matirhelo ya xitirhisiwa xa hina.
Loko data leyi hi kunguhataka ku yi hlayisa yi ri ya nkoka naswona yi tirhisiwa eka xikombelo xin’wana ni xin’wana lexi sisiteme ya hina yi xi khomaka, ku fana ni tipholisi ta mfikelelo, tipulani ta xikhokhelo, kumbe swiyenge swin’wana swa nkoka eka domain ya hina—xihlovo xa data leyi xi nga ha vanga yinhla leyikulu ya ku tsandzeka eka sisiteme ya hina. Ku lulamisa ntlhontlho lowu, ndlela yin’wana i ku phindha datha leyi hi ku helela hi ku kongoma eka memori ya xitirhisiwa xa hina.
Eka xiyimo lexi, loko vholumo ya datha eka xihlovo yi lawuleka, hi nga sungula endlelo hi ku kopa xifaniso xa xihatla xa datha leyi eku sunguleni ka xitirhisiwa xa hina. Endzhaku ka sweswo, hi nga amukela swiendlakalo swa ku pfuxetiwa ku tiyisisa leswaku datha leyi hlayisiweke yi tshama yi fambisana na xihlovo. Hi ku amukela endlelo leri, hi ndlandlamuxa ku tshembheka ka ku fikelela datha leyi ya nkoka, tanihileswi ku vuyiseriwa kun’wana na kun’wana ku humelelaka hi ku kongoma ku suka eka memori hi ku koteka ka xihoxo xa 0%. Ku engetela kwalaho, ku vuyisa data eka memori swi hatlisa hi ndlela yo hlawuleka, xisweswo swi antswisa matirhelo ya xitirhisiwa xa hina. Qhinga leri ri hunguta hi ndlela leyinene khombo leri fambelanaka na ku titshega hi xihlovo xa datha xa le handle, ku tiyisisa mfikelelo lowu nga cincekiki na ku tshembheka eka mahungu ya nkoka eka matirhelo ya xitirhisiwa xa hina.
Hambiswiritano, xilaveko xo dawuniloda datha eka ku sungula ka xitirhisiwa, hi ndlela yoleyo xi hlwela endlelo ro sungula, xi tlula yin’wana ya milawu ya ‘xitirhisiwa xa swilo swa 12’ lexi seketelaka ku sungula ka xitirhisiwa hi ku hatlisa. Kambe, a hi lavi ku lahlekeriwa hi mimpfuno ya ku tirhisa caching. Ku lulamisa xiphiqo lexi, a hi kambisiseni swintshuxo leswi nga vaka kona.
Ku sungula hi ku hatlisa i swa nkoka swinene, ngopfungopfu eka tipulatifomo to fana na Kubernetes, leti titshegeke hi ku rhurhela ka matirhiselo hi ku hatlisa eka tinodi to hambana ta xiviri. Nkateko wa kona, Kubernetes yi nga lawula switirhisiwa leswi sungulaka hi ku nonoka hi ku tirhisa swihlawulekisi swo fana na ti-probe to sungula.
Ntlhontlho wun’wana lowu hi nga langutanaka na wona i ku pfuxeta swivumbeko loko xitirhisiwa xi ri karhi xi tirha. Hakanyingi, ku lulamisa minkarhi ya cache kumbe ku hela ka nkarhi wa xikombelo swa laveka ku lulamisa timhaka ta vuhumelerisi. Hambi loko hi nga hatlisa hi tirhisa tifayela ta vuhlanganisi leti pfuxetiweke eka xitirhisiwa xa hina, ku tirhisa ku cinca loku hi ntolovelo swi lava ku sungula nakambe. Hi nkarhi lowu engetelekeke wo sungula wa xitirhisiwa xin’wana na xin’wana, ku sungula nakambe loku rhendzelekaka ku nga hlwela swinene ku tirhisa swintshuxo eka vatirhisi va hina.
Ku langutana na leswi, ntlhantlho wun’we i ku hlayisa swivumbeko eka xihlawulekisi xa nkarhi wun’we naswona ku va na thread ya le ndzhaku nkarhi na nkarhi yi yi pfuxeta. Hambiswiritano, tipharamitha to karhi, to tanihi ku hela ka nkarhi wa xikombelo xa HTTP, ti nga ha lava ku sungula nakambe tiklayenti ta HTTP kumbe ta database loko vukorhokeri lebyi fambelanaka byi cinca, leswi tisaka ntlhontlho lowu nga vaka kona. Kambe, tiklayenti tin’wana, ku fana na muchayeri wa Cassandra wa Java, ti seketela ku layicha nakambe ka otomatiki ka swivumbeko, leswi olovisaka endlelo leri.
Ku tirhisa swivumbeko leswi layichiwaka nakambe swi nga hunguta vuyelo byo biha bya minkarhi yo leha yo sungula ya matirhiselo na ku nyika mimbuyelo yo engetela, ku fana na ku olovisa ku tirhisiwa ka mijeko ya swihlawulekisi. Endlelo leri ri hi endla hi kota ku hlayisa ku tshembheka ka xitirhisiwa na ku hlamula loko hi ri karhi hi lawula hi ndlela leyinene ku pfuxetiwa ka vukorhokeri.
Sweswi a hi languteni xiphiqo xin’wana: eka sisiteme ya hina, loko xikombelo xa mutirhisi xi amukeriwile no lulamisiwa hi ku rhumela xivutiso eka backend kumbe database, nkarhi wun’wana, nhlamulo ya xihoxo ya amukeriwa ematshan’wini ya data leyi languteriweke. Endzhaku ka sweswo, sisiteme ya hina yi hlamula mutirhisi hi ‘xihoxo’.
Hambiswiritano, eka swiyimo swo tala, swi nga ha antswa swinene ku kombisa datha leyi hundzeriweke hi nkarhinyana swin’we na rungula leri kombisaka leswaku ku na ku hlwela ka ku pfuxeta data, ematshan’wini yo siya mutirhisi a ri na rungula lerikulu ro tshwuka ra xihoxo.
Ku lulamisa mhaka leyi na ku antswisa mahanyelo ya sisiteme ya hina, hi nga tirhisa xivumbeko xa Fallback. Mhaka leyi nga endzhaku ka xivumbeko lexi yi katsa ku va na xihlovo xa datha xa vumbirhi, lexi nga vaka na datha ya khwalithi ya le hansi kumbe ya vuntshwa loko yi pimanisiwa na xihlovo xa le henhla. Loko xihlovo xa datha ya masungulo xi nga kumeki kumbe xi vuyisa xihoxo, sisiteme yi nga tlhelela endzhaku eka ku vuyisa datha ku suka eka xihlovo lexi xa vumbirhi, ku tiyisisa leswaku xivumbeko xo karhi xa mahungu xi nyikiwa mutirhisi ematshan’wini yo kombisa rungula ra xihoxo.
Loko u languta xifaniso lexi nga laha henhla, u ta xiya ku fana exikarhi ka mhaka leyi hi langutaneke na yona sweswi na leyi hi hlanganeke na yona hi xikombiso xa cache.
Leswaku hi swi tlhantlha, hi nga anakanya hi ku tirhisa xivumbeko lexi tiviwaka tanihi ku ringeta nakambe. Ematshan’weni yo titshega hi ti- cache, sisiteme yi nga endliwa leswaku yi rhumela xikombelo nakambe hi yoxe loko ku va ni xihoxo. Xivumbeko lexi xo ringeta nakambe xi nyika ndlela yin’wana yo olova naswona hi ndlela leyinene xi nga hunguta ku koteka ka swihoxo eka xikombelo xa hina. Ku hambana na ku hlayisa, leswi talaka ku lava tindlela to rharhangana ta ku nga tirhi ka cache ku khoma ku cinca ka datha, ku ringeta nakambe swikombelo leswi tsandzekeke swa olova swinene ku swi tirhisa. Tanihi leswi ku nga tirhisiwi ka cache ku tekiwaka ngopfu tanihi wun’wana wa mintirho leyi tlhontlhaka swinene eka vunjhiniyara bya software, ku amukela maqhinga yo ringeta nakambe swi nga olovisa ku khomiwa ka swihoxo na ku antswisa ku tiyisela ka sisiteme.
Hambiswiritano, ku amukela maqhinga yo ringeta nakambe handle ko kambisisa vuyelo lebyi nga vaka kona swi nga vanga swiphiqo swin’wana.
Lets imagine yin'wana ya ti backends ta hina yi hlangana na ku tsandzeka. Eka xiyimo xo tano, ku sungula ku ringeta nakambe eka backend leyi hlulekaka swi nga endla leswaku ku va na ku tlakuka lokukulu ka vholumo ya thrafikhi. Ku tlakuka loku ka xitshuketa ka thrafikhi ku nga ha hlula backend, ku nyanyisa ku tsandzeka naswona ku nga ha vanga mbuyelo wa cascade eka sisiteme hinkwayo.
Ku langutana na ntlhontlho lowu, i swa nkoka ku tatisa xivumbeko xa ku ringeta nakambe hi xivumbeko xa circuit breaker. Xigwitsirisi xa xirhendzevutani xi tirha tanihi endlelo ra nsirhelelo leri langutisisa mpimo wa swihoxo swa vukorhokeri bya le hansi. Loko mpimo wa swihoxo wu tlula mpimo lowu vekiweke ka ha ri emahlweni, xisirhelelo xa xirhendzevutani xi kavanyeta swikombelo eka vukorhokeri lebyi khumbekaka ku ringana nkarhi lowu vekiweke. Hi nkarhi lowu, sisiteme yi papalata ku rhumela swikombelo swo engetela ku pfumelela nkarhi wa vukorhokeri lowu tsandzekeke ku vuyelela. Endzhaku ka nkarhi lowu vekiweke, xisirhelelo xa xirhendzevutana hi vukheta xi pfumelela nhlayo leyi pimiweke ya swikombelo leswaku swi hundza, xi tiyisisa loko vukorhokeri byi tshamisekile. Loko vukorhokeri byi vuyile, vutleketli lebyi tolovelekeke byi vuyiseriwa hakatsongo-tsongo; handle ka sweswo, xirhendzevutani xi tshama xi pfulekile, xi ya emahlweni xi sivela swikombelo ku kondza vukorhokeri byi sungula ku tirha hi ntolovelo. Hi ku hlanganisa xivumbeko xa xisirhelelo xa xirhendzevutani etlhelo ka loji yo ringeta nakambe, hi nga lawula hi ndlela leyinene swiyimo swa swihoxo na ku sivela ku tlula mpimo ka sisiteme hi nkarhi wa ku tsandzeka ka le ndzhaku.
Hi ku gimeta, hi ku tirhisa swivumbeko leswi swa ku tiyisela, hi nga tiyisisa switirhisiwa swa hina eka swiyimo swa xihatla, hi hlayisa vukona bya le henhla, na ku tisa ntokoto lowu nga na swiphiqo eka vatirhisi. Ku engetela kwalaho, ndzi lava ku kandziyisa leswaku telemetry i xitirhisiwa xin’wana lexi nga fanelangiki ku honisiwa loko ku nyikiwa ku tiyisela ka phurojeke. Tilog na timetriki ta kahle swi nga ndlandlamuxa swinene khwalithi ya vukorhokeri na ku nyika vutivi bya nkoka eka matirhelo ya byona, ku pfuneta ku teka swiboho leswi nga na vutivi ku byi antswisa ku ya emahlweni.