paint-brush
Fintech taslamalary üçin hakyky dünýä çydamly strategiýalarytarapyndan@ymatigoosa
66,650 oka
66,650 oka

Fintech taslamalary üçin hakyky dünýä çydamly strategiýalary

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

Örän uzyn; Okamak

Programma üpjünçiliginde çydamlylyk, garaşylmadyk meseleler ýa-da şowsuzlyklar ýüze çykanda-da, programmanyň rahat we ygtybarly işlemegini dowam etdirmek ukybyna degişlidir.

People Mentioned

Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Fintech taslamalary üçin hakyky dünýä çydamly strategiýalary
Dmitrii Pakhomov HackerNoon profile picture
0-item

Programma üpjünçiliginde çydamlylyk, garaşylmadyk meseleler ýa-da şowsuzlyklar ýüze çykanda-da, programmanyň rahat we ygtybarly işlemegini dowam etdirmek ukybyna degişlidir. “Fintech” taslamalarynda çydamlylyk birnäçe sebäplere görä aýratyn ähmiýete eýe. Ilki bilen, kompaniýalar kadalaşdyryjy talaplary ýerine ýetirmäge borçludyrlar we maliýe düzgünleşdirijileri ulgamyň içinde durnuklylygy saklamak üçin amaly çydamlylygy nygtaýarlar. Mundan başga-da, sanly gurallaryň köpelmegi we üçünji tarap hyzmat üpjün edijilerine bil baglamak Fintech kärhanalaryna howpsuzlyk howplaryny güýçlendirýär. Çydamlylyk, kiber howplar, pandemiýa ýa-da geosyýasy wakalar, esasy iş amallaryny we möhüm aktiwleri goramak ýaly dürli faktorlar sebäpli ýüze çykýan bökdençlik töwekgelçiligini azaltmaga kömek edýär.

Çydamlylyk nagyşlary bilen, programma üpjünçiliginiň bozulmalara garşy durup biljekdigini we işini dowam etdirip biljekdigini üpjün etmek üçin döredilen iň oňat tejribeleriň we strategiýalaryň toplumyna düşünýäris. Bu nagyşlar howpsuzlyk torlary ýaly hereket edýär, ýalňyşlyklary dolandyrmak, ýükleri dolandyrmak we şowsuzlyklardan gutulmak mehanizmlerini üpjün edýär, şeýlelik bilen amatsyz şertlerde programmalaryň ygtybarly we ygtybarly bolmagyny üpjün edýär.


Iň ýaýran çydamlylyk strategiýalarynda köp kelle, keş, yza gaýdyp gelmek, gaýtadan synanyşmak we tok öçüriji bar. Bu makalada, olary çözmäge kömek edip biljek meseleleriň mysallary bilen has jikme-jik ara alyp maslahatlaşaryn.

Bulkhead


Aboveokardaky sazlamalara göz aýlalyň. Käbir maglumatlary almak üçin yzymyzda birnäçe arkasy bolan gaty ýönekeý programma bar. Bu arka taraplara birikdirilen birnäçe HTTP müşderisi bar. Görnüşi ýaly, olaryň hemmesi birmeňzeş howuzy paýlaşýarlar! CPU we RAM ýaly beýleki çeşmeler.


Arka taraplaryň biri ýokary haýyşyň gijä galmagyna sebäp bolýan birneme kynçylyklary başdan geçirse näme bolar? Jogap beriş wagtynyň ýokary bolmagy sebäpli, baglanyşyk basseýniniň arkasyndan jogaplara garaşýan haýyşlar bilen doly meşgullanar. Netijede, howuzyň tükenendigi sebäpli sagdyn arka we2 arkasy3 üçin niýetlenen haýyşlar dowam edip bilmez. Diýmek, arka taraplarymyzyň birinde şowsuzlyk, tutuş programmada şowsuzlyga sebäp bolup biler. Iň gowusy, programmanyň galan bölegi kadaly işlemegini dowam etdirýärkä, diňe şowsuz arka bilen baglanyşykly işlemegi isleýäris.


Bulkhead nagşy näme?


Bulkhead nagşy adalga gämi gurluşygyndan gelip çykýar, gäminiň içinde birnäçe izolirlenen bölüm döretmegi göz öňünde tutýar. Bir bölümde syzma ýüze çyksa, suw bilen doldurylýar, ýöne beýleki bölümler täsirsiz galýar. Bu izolýasiýa, ýekeje bozulma sebäpli gäminiň gark bolmagynyň öňüni alýar.

Bu meseläni çözmek üçin “Bulkhead” nagyşyny nädip ulanyp bileris?



“Bulkhead” nagşy, bir bölekdäki näsazlygyň tutuş ulgama täsir etmeginiň öňüni alyp, programmanyň içinde dürli çeşmeleri izolirlemek üçin ulanylyp bilner. Meselämize nädip ulanyp boljakdygymyz:


  1. Izolýasiýa birikdiriş howuzlary Her arka tarap üçin aýratyn arka howuzlaryny döredip bileris (arkasy1, arkasy2, arkasy3). Bu, “backend1” -iň ýokary seslenme wagtlaryny ýa-da şowsuzlyklaryny başdan geçirýän bolsa, birikdiriş howuzynyň özbaşdak tükenmegini üpjün edýär, birikme howuzlaryny “backend2” we “backend3” täsirsiz galdyrýar. Bu izolýasiýa, sagdyn arka taraplara islegleri gaýtadan işlemegi dowam etdirmäge mümkinçilik berýär.
  2. Fon çäreleri üçin çeşmeleri çäklendirmek Bulkheads-i ulanmak bilen, partiýany gaýtadan işlemek ýa-da meýilleşdirilen meseleler ýaly fon işleri üçin aýratyn çeşmeler bölüp bileris. Bu, bu işleriň real wagt amallary üçin zerur serişdeleri sarp etmeginiň öňüni alýar. Mysal üçin, gelýän islegleri çözmek üçin ýeterlik çeşmeleriň bolmagyny üpjün edip, fon meselelerine bagyşlanan sapaklaryň sanyny ýa-da CPU ulanylyşyny çäklendirip bileris.
  3. Gelýän haýyşlar boýunça çäklendirmeleri bellemek Bulkheads, gelýän haýyşlaryň sanyny programmanyň dürli böleklerine çäklendirmek üçin hem ulanylyp bilner. Mysal üçin, her ýokary akym hyzmaty üçin bir wagtda işlenip bilinjek haýyşlaryň sanyna iň ýokary çäk belläp bileris. Bu, islendik arka tarapyň ulgamy agdarmagynyň öňüni alýar we beýleki arka taraplaryň biri agyr ýükde bolsa-da işlemegini dowam etdirýär.

Sache


Arka ulgamlarymyzda ýalňyşlyklara duş gelmek ähtimallygy pesdir öýdeliň. Şeýle-de bolsa, haçan-da bir amal bu arka taraplaryň hemmesini paralel soramagy öz içine alsa, hersi özbaşdak bir ýalňyş yzyna gaýtaryp biler. Bu ýalňyşlyklar özbaşdak ýüze çykýandygy sebäpli, programmamyzda ýalňyşlygyň umumy ähtimallygy, islendik arkadaky säwlik ähtimallygyndan has ýokarydyr. Toplum ýalňyşlyk ähtimallygyny P_total = 1− (1 - p) ^ n formulasy bilen hasaplap bolýar, bu ýerde n arka ulgamlarynyň sanydyr.


Mysal üçin, on sany arkamyz bar bolsa, hersinde p = 0.001 ýalňyşlyk ähtimallygy bar (99,9% SLA laýyk gelýär), ýüze çykan ýalňyşlyk ähtimallygy:


P_total = 1− (1−0.001) ^ 10 = 0.009955


Bu, birleşdirilen SLA-nyň takmynan 99% -e düşýändigini aňladýar, paralel görnüşde köp sanly arkany soranda umumy ygtybarlylygyň nädip peselýändigini görkezýär. Bu meseläni ýeňilleşdirmek üçin ýatda saklaýan keş keşbini durmuşa geçirip bileris.

Memoryatdaky keş bilen nädip çözüp bileris


Memoryatda saklaýan keş, ýokary tizlikli maglumat buferi bolup hyzmat edýär, ýygy-ýygydan girilýän maglumatlary saklaýar we her gezek potensial haýal çeşmelerden almak zerurlygyny aradan aýyrýar. Memoryatda saklanýan keşleriň torda maglumatlary almak bilen deňeşdirilende 0% ýalňyşlyk ähtimallygy barlygy sebäpli, programmamyzyň ygtybarlylygyny ep-esli ýokarlandyrýar. Mundan başga-da, keş keş, tor trafigini azaldýar we ýalňyşlyklar mümkinçiligini hasam peseldýär. Netijede, ýatda saklaýan keşi ulanyp, programmamyzda arka ulgamlarymyz bilen deňeşdirilende has pes ýalňyşlyk derejesini gazanyp bileris. Mundan başga-da, ýatda saklaýan keşler, tor esasly gözleglerden has çalt maglumat gözlemegi teklip edýär we şeýlelik bilen programmanyň gijikdirilişini azaldýar.

Memoryatda saklaýan keş: Şahsy keşler

Ulanyjy profilleri ýa-da teklipleri ýaly şahsylaşdyrylan maglumatlar üçin ýatda saklaýan keşleri ulanmak hem ýokary täsirli bolup biler. Aöne ulanyjynyň ähli islegleriniň, ýelmeşýän sessiýalary talap edýän maglumatlary keşde ulanmak üçin şol bir programma mysalyna yzygiderli gitmegini üpjün etmeli. Yapyşan sessiýalary durmuşa geçirmek kyn bolup biler, ýöne bu ssenariýa üçin bize çylşyrymly mehanizmler gerek däl. Ujypsyz traffigi deňagramlaşdyrmak kabul ederliklidir, şonuň üçin yzygiderli ýuwmak ýaly durnukly ýük balans algoritmi ýeterlikdir.


Mundan başga-da, düwün näsazlygy ýüze çykan ýagdaýynda yzygiderli ýuwulmak, diňe şowsuz düwün bilen baglanyşykly ulanyjylaryň ulgamdaky bozulmalary azaldyp, deňagramlaşdyrylmagyny üpjün edýär. Bu çemeleşme şahsylaşdyrylan keşleriň dolandyrylyşyny ýönekeýleşdirýär we programmamyzyň umumy durnuklylygyny we öndürijiligini ýokarlandyrýar.

Memoryatda saklaýan keş: ýerli maglumatlary köpeltmek



Keşlemek isleýän maglumatlarymyz möhüm ähmiýete eýe bolsa we giriş syýasaty, abuna meýilnamalary ýa-da domenimizdäki beýleki möhüm guramalar ýaly ulgamymyzyň işleýän her haýyşynda ulanylsa - bu maglumatlaryň çeşmesi ulgamymyzda ep-esli şowsuzlyk döredip biler. Bu kynçylygy çözmek üçin bir çemeleşme, bu maglumatlary gönüden-göni programmamyzyň ýadyna köpeltmekdir.


Bu ssenariýada, çeşmedäki maglumatlaryň göwrümi dolandyrylýan bolsa, amalymyzyň başynda bu maglumatlaryň gysgaça suratyny göçürip alyp bileris. Netijede, keş görnüşindäki maglumatlaryň çeşme bilen sinhron bolmagyny üpjün etmek üçin täzelenme wakalaryny alyp bileris. Bu usuly ulanmak bilen, bu möhüm maglumatlara girmegiň ygtybarlylygyny ýokarlandyrýarys, sebäbi her gözleg 0% ýalňyşlyk ähtimallygy bilen gönüden-göni ýatdan ýüze çykýar. Mundan başga-da, ýatdan maglumatlary almak gaty çalt, şeýlelik bilen programmamyzyň işleýşini gowulandyrýar. Bu strategiýa, daşarky maglumat çeşmesine bil baglamak bilen baglanyşykly töwekgelçiligi netijeli azaldýar, amalymyzyň işi üçin möhüm maglumatlara yzygiderli we ygtybarly elýeterliligi üpjün edýär.

Gaýtadan ýüklenýän sazlama

Şeýle-de bolsa, amaly başlamak baradaky maglumatlary göçürip almak, şeýlelik bilen başlangyç işini gijikdirmek, programmanyň çalt başlamagyny goldaýan '12 faktorly programma 'ýörelgeleriniň birini bozýar. Emma, keş keşini ulanmagyň artykmaçlyklaryndan el çekmek islemeýäris. Bu kynçylygy çözmek üçin potensial çözgütleri öwrenmäge mümkinçilik bereliň.


Çalt başlamak, esasanam dürli fiziki düwünlere çalt programma göçmegine bil baglaýan Kubernetes ýaly platformalar üçin möhümdir. Bagtymyza, Kubernetes başlangyç zondlary ýaly aýratynlyklary ulanyp haýal işleýän programmalary dolandyryp biler.


Başga bir kynçylyk, programma işleýän wagtynda konfigurasiýalary täzelemekdir. Köplenç önümçilik meselelerini çözmek üçin keş keşbini sazlamak ýa-da wagt gutarmagyny talap etmek zerurdyr. Täzelenen konfigurasiýa faýllaryny programmamyza çalt ýerleşdirip bilsek-de, bu üýtgeşmeleri ulanmak adatça täzeden başlamagy talap edýär. Her programmanyň başlangyç wagtynyň uzaldylmagy bilen, täzeden başlamak ulanyjylarymyza düzedişleri ýerleşdirmegi ep-esli gijikdirip biler.


Bu meseläni çözmek üçin bir çözgüt konfigurasiýalary yzygiderli üýtgeýjide saklamak we yzygiderli yzygiderli täzelenmek üçin fon sapagy bolmaly. Şeýle-de bolsa, HTTP haýyş wagty gutarmak ýaly käbir parametrler, degişli konfigurasiýa üýtgese, HTTP ýa-da maglumat bazasynyň müşderilerini täzeden işe girizmegi talap edip biler. Şeýle-de bolsa, käbir müşderiler, Java üçin Cassandra sürüjisi ýaly, bu prosesi ýönekeýleşdirip, konfigurasiýalary awtomatiki ýüklemegi goldaýarlar.


Gaýtadan ýüklenýän konfigurasiýalary ýerine ýetirmek, uzak wagtlap işe başlamagyň ýaramaz täsirini azaldyp biler we aýratynlyk baýdagyny ýerine ýetirmek ýaly goşmaça peýdalary hödürläp biler. Bu çemeleşme, konfigurasiýa täzelenmelerini netijeli dolandyrmak bilen programmanyň ygtybarlylygyny we jogapkärçiligini saklamaga mümkinçilik berýär.

Yza gaýtmak

Indi başga bir meselä göz aýlalyň: ulgamymyzda ulanyjy haýyşy kabul edilip, arkasyna ýa-da maglumat bazasyna talap ibermek bilen işlenip düzülende, garaşylýan maglumatlaryň ýerine ýalňyş jogap alynýar. Netijede, ulgamymyz ulanyja 'säwlik' bilen jogap berýär.


Şeýle-de bolsa, köp senariýada, ulanyjyny uly gyzyl säwlik habary bilen goýman, maglumatlary täzelemegiň gijä galýandygyny görkezýän habar bilen birlikde birneme köne maglumatlary görkezmek has gowy bolup biler.



Bu meseläni çözmek we ulgamymyzyň özüni alyp barşyny gowulandyrmak üçin “Yza gaýdyp” görnüşini durmuşa geçirip bileris. Bu nagşyň aňyrsyndaky düşünje, esasy çeşme bilen deňeşdirilende pes hilli ýa-da tazelik maglumatlary öz içine alyp biljek ikinji derejeli maglumat çeşmesine eýe bolmagy göz öňünde tutýar. Esasy maglumat çeşmesi elýeterli däl bolsa ýa-da ýalňyşlyk gaýtarylsa, ulgam säwlik habaryny görkezmegiň ýerine ulanyja maglumat görnüşiniň görkezilmegini üpjün edip, ikinji derejeli çeşmeden maglumatlary almak üçin yza gaýdyp biler.

Gaýtadan synanyşyň


Aboveokardaky surata seretseňiz, häzirki ýüzbe-ýüz bolýan meselämiz bilen keş keşbine duş gelen meselämiziň meňzeşligini görersiňiz.


Ony çözmek üçin gaýtadan synanyşmak diýilýän bir nagşy durmuşa geçirmegi göz öňünde tutup bileris. Keşlere bil baglamagyň ýerine, säwlik ýüze çykan halatynda haýyşy awtomatiki ibermek üçin ulgam döredilip bilner. Bu gaýtadan synanyşmak has ýönekeý alternatiwany hödürleýär we programmamyzdaky ýalňyşlyklaryň ähtimallygyny netijeli azaldyp biler. Maglumat üýtgemelerini dolandyrmak üçin köplenç çylşyrymly keş keşbini ýatyrmak mehanizmlerini talap edýän keş görnüşinden tapawutlylykda, şowsuz haýyşlary gaýtadan synanyşmak ýerine ýetirmek üçin has ýönekeýdir. Keşiň nädogry bolmagy programma üpjünçiligi in engineeringenerçiliginde iň kyn meseleleriň biri hökmünde kabul edilýändigi sebäpli, gaýtadan synanyşmak strategiýasyny kabul etmek ýalňyşlary dolandyrmagy tertipleşdirip we ulgamyň durnuklylygyny ýokarlandyryp biler.

Zynjyr döwüji


Şeýle-de bolsa, bolup biljek netijeleri göz öňünde tutman gaýtadan synanyşmak strategiýasyny kabul etmek hasam kynçylyklara sebäp bolup biler.


Arka taraplarymyzyň biriniň şowsuzlygy başdan geçirendigini göz öňüne getireliň. Şeýle ssenariýada, şowsuz arka tarapyna gaýtadan synanyşmak, traffigiň göwrüminiň ep-esli ýokarlanmagyna sebäp bolup biler. Trafigiň bu duýdansyz ýokarlanmagy arka tarapy basyp biler, şowsuzlygy hasam güýçlendirip we ulgamda kaskad täsirini döredip biler.


Bu kynçylygy ýeňip geçmek üçin gaýtadan synanyşyk nagşyny zynjyr döwüjiniň nagşy bilen doldurmak möhümdir. Zynjyr döwüjisi, aşaky hyzmatlaryň ýalňyşlyk derejesine gözegçilik edýän gorag mehanizmi bolup hyzmat edýär. Erroralňyşlyk derejesi öňünden kesgitlenen çäkden geçende, tok öçüriji belli bir möhletde täsir eden hyzmatdaky haýyşlary kesýär. Bu döwürde ulgam şowsuz hyzmat wagtynyň dikeldilmegi üçin goşmaça haýyşlar ibermekden saklanýar. Bellenen aralykdan soň, tok öçüriji seresaplylyk bilen hyzmatyň durnuklaşandygyny ýa-da ýokdugyny barlamak üçin çäkli mukdarda haýyşlaryň geçmegine rugsat berýär. Hyzmat dikeldilen bolsa, adaty traffik kem-kemden dikeldilýär; bolmasa, hyzmat adaty işe başlaýança haýyşlary petiklemegi dowam etdirip, zynjyr açyk bolýar. Zynjyr döwüjiniň nagşyny gaýtadan logika bilen birleşdirip, säwlik ýagdaýlaryny netijeli dolandyryp bileris we arkadaky näsazlyklar wagtynda ulgamyň aşa ýüklenmeginiň öňüni alyp bileris.

Upapmak

Sözümiziň ahyrynda, bu çydamlylyk nusgalaryny durmuşa geçirip, adatdan daşary ýagdaýlara garşy programmalarymyzy güýçlendirip bileris, ýokary elýeterliligi saklap bileris we ulanyjylara bökdençsiz tejribe berip bileris. Mundan başga-da, telemetriýanyň taslama çydamlylygy üpjün edilende ünsden düşürilmeli başga bir guraldygyny belläsim gelýär. Gowy surnallar we ölçegler hyzmatlaryň hilini ep-esli ýokarlandyryp we olaryň ýerine ýetirişleri barada gymmatly düşünjeleri berip biler, bu maglumatlary hasam gowulandyrmak üçin habarly karar bermäge kömek eder.