Amaphethini ezakhiwo alula

Sawubona Habr!

Ngenxa yezehlakalo zamanje ngenxa ye-coronavirus, izinsiza eziningi ze-inthanethi seziqalile ukuthola umthwalo owengeziwe. Ngokwesibonelo, Elinye lamaketanga ezitolo zase-UK livele lamisa indawo yalo yoku-oda ku-inthanethi., ngoba ubungekho umthamo owanele. Futhi akwenzeki ngaso sonke isikhathi ukusheshisa iseva ngokumane ungeze amathuluzi anamandla, kodwa izicelo zamaklayenti kufanele zicutshungulwe (noma zizoya kwabancintisana nabo).

Kulesi sihloko ngizokhuluma kafushane ngemikhuba edumile ezokuvumela ukuthi udale isevisi esheshayo futhi ebekezelela amaphutha. Nokho, ezinhlelweni zokuthuthukisa okungenzeka, ngikhethe kuphela lezo ezikhona njengamanje kulula ukuyisebenzisa. Entweni ngayinye, ungaba nemitapo yolwazi eyenziwe ngomumo, noma unethuba lokuxazulula inkinga usebenzisa inkundla yamafu.

Ukukala okuvundlile

Iphuzu elilula nelaziwa kakhulu. Ngokuvamile, izikimu ezimbili ezivame kakhulu zokusabalalisa umthwalo ukukala okuvundlile nokuma mpo. Esikhathini sokuqala uvumela izinsizakalo ukuthi zisebenze ngokuhambisana, ngaleyo ndlela usabalalise umthwalo phakathi kwazo. Kwesibili u-oda amaseva anamandla kakhulu noma uthuthukise ikhodi.

Isibonelo, ngizothatha isitoreji sefayela lefu elingabonakali, okungukuthi, enye i-analogue ye-OwnCloud, i-OneDrive, njalonjalo.

Isithombe esijwayelekile sesifunda esinjalo singezansi, kodwa sibonisa kuphela ubunzima besistimu. Ngemuva kwakho konke, sidinga ukuvumelanisa ngandlela thile izinsizakalo. Kwenzekani uma umsebenzisi egcina ifayela kuthebhulethi bese efuna ukulibuka kusukela ocingweni?

Amaphethini ezakhiwo alula
Umehluko phakathi kwezindlela: ekulinganisweni okuqondile, silungele ukwandisa amandla ama-node, futhi ekulinganiseni okuvundlile, silungele ukwengeza ama-node amasha ukusabalalisa umthwalo.

I-CQRS

Ukuhlukaniswa Kwesibopho Sombuzo Womyalo Iphethini ebaluleke kakhulu, njengoba ivumela amaklayenti ahlukene ukuthi angagcini nje ngokuxhuma kumasevisi ahlukene, kodwa futhi athole ukusakazwa komcimbi ofanayo. Izinzuzo zayo azibonakali kangako kuhlelo lokusebenza olulula, kodwa kubaluleke kakhulu (futhi kulula) kusevisi ematasa. Ingqikithi yayo: ukugeleza kwedatha engenayo nephumayo akufanele kuphambane. Okusho ukuthi, awukwazi ukuthumela isicelo futhi ulindele impendulo; esikhundleni salokho, uthumela isicelo kusevisi A, kodwa uthole impendulo evela kusevisi B.

Ibhonasi yokuqala yale ndlela yikhono lokunqamula ukuxhumana (ngomqondo obanzi wegama) ngenkathi wenza isicelo eside. Isibonelo, ake sithathe ukulandelana okujwayelekile okungaphezulu noma okuncane:

  1. Iklayenti lithumele isicelo kuseva.
  2. Iseva iqale isikhathi eside sokucubungula.
  3. Iseva iphendule iklayenti ngomphumela.

Ake sicabange ukuthi ephuzwini lesi-2 uxhumano luphukile (noma inethiwekhi ixhunywe kabusha, noma umsebenzisi waya kwelinye ikhasi, ephula uxhumano). Kulesi simo, kuzoba nzima kuseva ukuthumela impendulo kumsebenzisi ngolwazi mayelana nokuthi yini ngempela ecutshungulwe. Ukusebenzisa i-CQRS, ukulandelana kuzohluka kancane:

  1. Iklayenti libhalisele izibuyekezo.
  2. Iklayenti lithumele isicelo kuseva.
  3. Iseva iphendule ngokuthi “isicelo samukelwe.”
  4. Iseva iphendule ngomphumela ngesiteshi ukusuka endaweni “1”.

Amaphethini ezakhiwo alula

Njengoba ubona, uhlelo luyinkimbinkimbi kancane. Ngaphezu kwalokho, indlela yokuphendula yesicelo enembile ayikho lapha. Kodwa-ke, njengoba ubona, ikhefu lokuxhumana ngenkathi ucubungula isicelo ngeke liholele ephutheni. Ngaphezu kwalokho, uma empeleni umsebenzisi exhunywe kwisevisi kusuka kumadivayisi amaningana (isibonelo, kusukela kumakhalekhukhwini kanye nethebhulethi), ungaqiniseka ukuthi impendulo ifika kuwo womabili amadivayisi.

Kuyathakazelisa ukuthi ikhodi yokucubungula imilayezo engenayo ifana (hhayi u-100%) kokubili ezenzakalweni ezithonywe iklayenti ngokwalo, nakweminye imicimbi, kuhlanganise naleyo evela kwamanye amaklayenti.

Kodwa-ke, empeleni sithola ibhonasi eyengeziwe ngenxa yokuthi ukugeleza kwe-unidirectional kungaphathwa ngesitayela sokusebenza (usebenzisa i-RX nokunye okufanayo). Futhi lokhu sekuvele kuyinhlanganisela engathi sína, ngoba empeleni isicelo singenziwa sisebenze ngokuphelele, futhi sisebenzisa indlela esebenzayo. Ngezinhlelo zamafutha, lokhu kungasindisa kakhulu izinsiza zokuthuthukiswa nokusekela.

Uma sihlanganisa le ndlela nokukala okuvundlile, khona-ke njengebhonasi sithola ikhono lokuthumela izicelo kuseva eyodwa futhi sithole izimpendulo kwesinye. Ngakho-ke, iklayenti lingakhetha isevisi elilungele yena, futhi isistimu ngaphakathi isazokwazi ukucubungula imicimbi ngendlela efanele.

Ukuthola Umcimbi

Njengoba wazi, esinye sezici eziyinhloko zesistimu esabalalisiwe ukungabikho kwesikhathi esivamile, isigaba esibucayi esivamile. Ngenqubo eyodwa, ungenza ukuvumelanisa (ku-mutexes efanayo), lapho uqiniseka khona ukuthi akekho omunye owenza le khodi. Kodwa-ke, lokhu kuyingozi ohlelweni olusabalalisiwe, ngoba luzodinga phezulu, futhi luzobulala bonke ubuhle bokulinganisa - zonke izingxenye zisazolinda eyodwa.

Kusuka lapha sithola iqiniso elibalulekile - uhlelo olusakazwa ngokushesha alukwazi ukuvumelanisa, ngoba sizobe sehlisa ukusebenza. Ngakolunye uhlangothi, sivame ukudinga ukuvumelana okuthile phakathi kwezingxenye. Futhi ngenxa yalokhu ungasebenzisa indlela nge ekugcineni ukuvumelana, lapho kuqinisekiswa khona ukuthi uma zingekho izinguquko zedatha esikhathini esithile ngemva kokubuyekezwa kokugcina (“ekugcineni”), yonke imibuzo izobuyisela inani lokugcina elibuyekeziwe.

Kubalulekile ukuqonda ukuthi ku-database yakudala isetshenziswa kaningi ukungaguquguquki okuqinile, lapho i-node ngayinye inolwazi olufanayo (lokhu kuvame ukufezwa esimweni lapho ukuthengiselana kubhekwa njengokusungulwa kuphela ngemva kokuba iseva yesibili iphendule). Kukhona ukuphumula lapha ngenxa yamazinga okuzihlukanisa, kodwa umqondo ojwayelekile uhlala ufana - ungaphila ezweni elivumelana ngokuphelele.

Nokho, ake sibuyele emsebenzini wokuqala. Uma ingxenye yesistimu ingakhiwa nge ekugcineni ukuvumelana, bese singakha umdwebo olandelayo.

Amaphethini ezakhiwo alula

Izici ezibalulekile zale ndlela yokwenza:

  • Isicelo ngasinye esingenayo sibekwe kulayini owodwa.
  • Ngenkathi icubungula isicelo, isevisi ingase futhi ibeke imisebenzi kweminye imigqa.
  • Umcimbi ngamunye ongenayo unesihlonzi (esidingekayo ukuze siphindaphinde).
  • Ulayini usebenza ngokomqondo ngokohlelo "lwe-append kuphela". Awukwazi ukususa izakhi kuyo noma uzihlele kabusha.
  • Ulayini usebenza ngokohlelo lwe-FIFO (ngiyaxolisa nge-tautology). Uma udinga ukwenza ukwenza ngokufana, khona-ke esigabeni esisodwa kufanele uhambise izinto kolayini abahlukene.

Ake ngikukhumbuze ukuthi sicabangela indaba yokugcina ifayela ku-inthanethi. Kulokhu, uhlelo luzobukeka kanje:

Amaphethini ezakhiwo alula

Kubalulekile ukuthi izinsizakalo ezisemdwebeni azisho ngempela iseva ehlukile. Ngisho nenqubo ingase ifane. Enye into ebalulekile: ngokombono, lezi zinto zihlukaniswa ngendlela yokuthi ukukala okuvundlile kungasetshenziswa kalula.

Futhi kubasebenzisi ababili umdwebo uzobukeka kanje (izinsizakalo ezihloselwe abasebenzisi abahlukene zikhonjiswe ngemibala ehlukene):

Amaphethini ezakhiwo alula

Amabhonasi avela kunhlanganisela enjalo:

  • Izinsizakalo zokucubungula ulwazi ziyahlukaniswa. Olayini nabo bahlukene. Uma sidinga ukukhuphula ukuphuma kwesistimu, sidinga nje ukwethula izinsiza eziningi kumaseva engeziwe.
  • Uma sithola ulwazi kumsebenzisi, asikho isidingo sokulinda kuze kube yilapho idatha isilondolozwe ngokuphelele. Ngokuphambene nalokho, sidinga nje ukuphendula "kulungile" bese siqala ukusebenza kancane kancane. Ngasikhathi sinye, umugqa ushelela iziqongo, njengoba ukwengeza into entsha kwenzeka ngokushesha, futhi umsebenzisi akudingeki alinde ukudlula okuphelele kuwo wonke umjikelezo.
  • Njengesibonelo, ngengeze isevisi yokususa ezama ukuhlanganisa amafayela afanayo. Uma isebenza isikhathi eside ku-1% yamacala, iklayenti ngeke likubone (bheka ngenhla), okuyi-plus enkulu, njengoba asisadingeki ukuba sibe nesivinini esingu-XNUMX% futhi sithembekile.

Kodwa-ke, izinkinga zibonakala ngokushesha:

  • Isistimu yethu ilahlekelwe ukuhambisana kwayo okuqinile. Lokhu kusho ukuthi uma, ngokwesibonelo, ubhalisela izinsiza ezahlukene, kusho ukuthi ungathola isimo esihlukile (njengoba enye yezinsizakalo ingase ingabi naso isikhathi sokuthola isaziso esivela kulayini wangaphakathi). Njengomunye umphumela, isistimu manje ayinaso isikhathi esivamile. Okusho ukuthi, akunakwenzeka, ngokwesibonelo, ukuhlunga yonke imicimbi kalula nje ngesikhathi sokufika, njengoba amawashi phakathi kwamaseva angahle angavumelani (ngaphezu kwalokho, isikhathi esifanayo kumaseva amabili yi-utopia).
  • Ayikho imicimbi manje engahlehliswa kalula (njengoba kungenziwa ngesizindalwazi). Kunalokho, udinga ukungeza umcimbi omusha − umcimbi wesinxephezelo, ezoshintsha isimo sokugcina sibe kwesidingekayo. Njengesibonelo esivela endaweni efanayo: ngaphandle komlando wokubhala kabusha (okubi kwezinye izimo), awukwazi ukuhlehlisa isithembiso ku-git, kodwa ungenza okukhethekile. ukuhlehlisa ukuzibophezela, empeleni okubuyisela isimo esidala. Nokho, kokubili ukuzibophezela okuyiphutha kanye nokuhlehliswa kuzohlala emlandweni.
  • I-schema sedatha singashintsha kusukela ekukhishweni kuye kokukhululwa, kodwa imicimbi emidala ngeke isakwazi ukubuyekezwa ibe izinga elisha (njengoba imicimbi ayikwazi ukushintshwa ngokomgomo).

Njengoba ubona, I-Event Sourcing isebenza kahle nge-CQRS. Ngaphezu kwalokho, ukusebenzisa uhlelo olunemigqa ephumelelayo nelula, kodwa ngaphandle kokuhlukanisa ukugeleza kwedatha, kakade kunzima ngokwakho, ngoba kuzodingeka wengeze amaphuzu okuvumelanisa azonciphisa wonke umphumela omuhle wemigqa. Ukusebenzisa zombili izindlela ngesikhathi esisodwa, kuyadingeka ukulungisa kancane ikhodi yohlelo. Esimweni sethu, lapho uthumela ifayela kuseva, impendulo iza kuphela "kulungile", okusho kuphela ukuthi "ukusebenza kokwengeza ifayela kulondoloziwe." Ngokusemthethweni, lokhu akusho ukuthi idatha isivele itholakala kwamanye amadivaysi (isibonelo, isevisi yokukhipha ingaphinda yakhe inkomba). Nokho, ngemva kwesikhathi esithile, iklayenti lizothola isaziso ngesitayela “sefayela X lilondoloziwe.”

Ngenxa yalokho:

  • Inani lezimo ezithumela amafayela liyakhula: esikhundleni “sefayela elithunyelwe” lakudala, sithola amabili: “ifayela lengezwe kulayini kuseva” futhi “ifayela lilondolozwe endaweni yokugcina.” Lokhu kokugcina kusho ukuthi amanye amadivaysi angakwazi kakade ukwamukela ifayela (kulungiswe ukuthi imigqa isebenza ngesivinini esihlukile).
  • Ngenxa yokuthi ulwazi oluthunyelwe manje luza ngamashaneli ahlukene, sidinga ukuqhamuka nezixazululo ukuze sithole isimo sokucutshungulwa kwefayela. Njengomphumela walokhu: ngokungafani nempendulo yesicelo yakudala, iklayenti lingaqalwa kabusha ngenkathi licubungula ifayela, kodwa isimo salokhu kucubungula ngokwaso sizobe silungile. Ngaphezu kwalokho, le nto iyasebenza, empeleni, ngaphandle kwebhokisi. Ngenxa yalokho: manje sesibekezelela ukwehluleka.

Kuthuka

Njengoba kuchaziwe ngenhla, amasistimu okuthola imicimbi awanakho ukuvumelana okuqinile. Lokhu kusho ukuthi singasebenzisa isitoreji esiningi ngaphandle kokuvumelanisa phakathi kwakho. Ukusondela enkingeni yethu, singakwazi:

  • Hlukanisa amafayela ngohlobo. Isibonelo, izithombe/amavidiyo angaqoshwa bese kukhethwa ifomethi esebenza kahle kakhulu.
  • Hlukanisa ama-akhawunti ngezwe. Ngenxa yemithetho eminingi, lokhu kungase kudingeke, kodwa lolu hlelo lwezakhiwo lunikeza ithuba elinjalo ngokuzenzakalelayo

Amaphethini ezakhiwo alula

Uma ufuna ukudlulisa idatha isuka kwesinye isitoreji iye kwesinye, kusho ukuthi izindlela ezijwayelekile azisanele. Ngeshwa, kulokhu, udinga ukumisa ulayini, wenze ukufuduka, bese uqala. Ngokuvamile, idatha ayikwazi ukudluliselwa "ngokundiza", kodwa-ke, uma umugqa womcimbi ugcinwe ngokuphelele, futhi unezifinyezo zezindawo zokugcina zangaphambilini, khona-ke singadlala futhi imicimbi ngale ndlela elandelayo:

  • Kumthombo womcimbi, umcimbi ngamunye unesihlonzi saso (okungcono, asinciphi). Lokhu kusho ukuthi singakwazi ukwengeza inkambu endaweni yokugcina - i-id yento yokugcina ecutshunguliwe.
  • Siphinda ulayini ukuze yonke imicimbi ikwazi ukucutshungulwa ezindaweni ezimbalwa ezizimele (eyokuqala yileyo lapho idatha isivele igcinwe khona, kanti eyesibili yintsha, kodwa isengenalutho). Ulayini wesibili, kunjalo, awucutshungulwa okwamanje.
  • Sethula ulayini wesibili (okungukuthi, siqala ukudlala kabusha imicimbi).
  • Uma ulayini omusha uma kuqhathaniswa awunalutho (okungukuthi, umehluko wesikhathi omaphakathi phakathi kokwengeza i-elementi nokuyithola wamukelekile), ungaqala ukushintshela izifundi kwisitoreji esisha.

Njengoba ubona, besingenakho, futhi namanje asinakho, ukungaguquguquki okuqinile ohlelweni lwethu. Kukhona kuphela ukuvumelana ekugcineni, okungukuthi, isiqinisekiso sokuthi imicimbi icutshungulwa ngokulandelana okufanayo (kodwa mhlawumbe ngokubambezeleka okuhlukile). Futhi, sisebenzisa lokhu, singakwazi ukudlulisa idatha kalula ngaphandle kokumisa isistimu kolunye uhlangothi lomhlaba.

Ngakho-ke, ukuqhubeka nesibonelo sethu mayelana nokugcinwa kwe-inthanethi kwamafayela, i-architecture enjalo isivele isinikeza inani lamabhonasi:

  • Singasondeza izinto kubasebenzisi ngendlela eguquguqukayo. Ngale ndlela ungathuthukisa ikhwalithi yesevisi.
  • Singase sigcine idatha ethile ezinkampanini. Isibonelo, abasebenzisi be-Enterprise bavame ukudinga ukuthi idatha yabo igcinwe kuzikhungo zedatha ezilawulwayo (ukugwema ukuvuza kwedatha). Ngokwahlukanisa singakusekela kalula lokhu. Futhi umsebenzi ulula nakakhulu uma ikhasimende linefu elihambisanayo (isibonelo, I-Azure isingathwe).
  • Futhi okubaluleke kakhulu ukuthi akufanele sikwenze lokhu. Phela, okokuqala nje, singajabula kakhulu ngesitoreji esisodwa sawo wonke ama-akhawunti (ukuqalisa ukusebenza ngokushesha). Futhi isici esiyinhloko salolu hlelo ukuthi nakuba lunwebeka, esigabeni sokuqala lulula kakhulu. Awudingi ukuthi ubhale ngokushesha ikhodi esebenza ngolayini abazimele abayizigidi, njll. Uma kunesidingo, lokhu kungenziwa esikhathini esizayo.

Ukusingathwa Kokuqukethwe Okumile

Leli phuzu lingase libonakale lisobala, kodwa lisadingeka kuhlelo lokusebenza olulayishiwe olujwayelekile noma oluncane. Ingqikithi yayo ilula: konke okuqukethwe okumile akusatshalaliswanga kusuka kuseva efanayo lapho isicelo sitholakala khona, kodwa kusuka kwezikhethekile ezinikezelwe ngqo kulo msebenzi. Ngenxa yalokho, le misebenzi yenziwa ngokushesha (i-nginx enemibandela inikezela ngamafayela ngokushesha okukhulu futhi okungabizi kakhulu kuneseva ye-Java). I-Plus CDN Architecture (Ukunikezwa kwenethiwekhi yokuqukethwe) kusivumela ukuthi sithole amafayela ethu eduze kwabasebenzisi bokugcina, okunomthelela omuhle ekusebenzeni kalula nesevisi.

Isibonelo esilula nesisezingeni eliphezulu kakhulu sokuqukethwe okumile isethi yemibhalo nezithombe zewebhusayithi. Konke kulula ngabo - baziwa kusengaphambili, bese ingobo yomlando ilayishwa kumaseva e-CDN, kusukela lapho isakazwa kubasebenzisi bokugcina.

Kodwa-ke, empeleni, kokuqukethwe okumile, ungasebenzisa indlela efana ne-lambda architecture. Masibuyele emsebenzini wethu (isitoreji sefayela ku-inthanethi), lapho sidinga ukusabalalisa amafayela kubasebenzisi. Isixazululo esilula siwukwenza isevisi ukuthi, ngesicelo ngasinye somsebenzisi, ihlole konke okudingekile (ukugunyazwa, njll.), bese ilanda ifayela ngokuqondile kwisitoreji sethu. Ububi obuyinhloko bale ndlela ukuthi okuqukethwe okumile (kanye nefayela elinesibuyekezo esithile, empeleni, okuqukethwe okumile) lisatshalaliswa yiseva efanayo equkethe ingqondo yebhizinisi. Kunalokho, ungenza umdwebo olandelayo:

  • Iseva inikeza i-URL yokulanda. Kungaba okwefomu elithi file_id + key, lapho ukhiye kuyisignesha yedijithali encane enikeza ilungelo lokufinyelela insiza amahora angu-XNUMX alandelayo.
  • Ifayela lisatshalaliswa nge-nginx elula ngezinketho ezilandelayo:
    • Inqolobane yokuqukethwe. Njengoba le nsizakalo ingatholakala kuseva ehlukile, sizishiyele indawo yokugcina isikhathi esizayo sinamandla okugcina wonke amafayela alandiwe akamuva kudiski.
    • Ihlola ukhiye ngesikhathi sokudala uxhumano
  • Ongakukhetha: ukusakaza okuqukethwe ukucubungula. Isibonelo, uma sicindezela wonke amafayela kusevisi, singakwazi ukukhipha unziphu ngqo kule mojula. Njengomphumela: Imisebenzi ye-IO yenziwa lapho kufanele khona. I-archiver ku-Java izokwaba kalula inkumbulo eningi eyengeziwe, kodwa ukubhala kabusha isevisi ngengqondo yebhizinisi ku-Rust/C++ conditionals kungase kungasebenzi. Esimweni sethu, kusetshenziswa izinqubo ezahlukene (noma ngisho nezinsizakalo), ngakho-ke singakwazi ukuhlukanisa ngempumelelo i-logic yebhizinisi nokusebenza kwe-IO.

Amaphethini ezakhiwo alula

Lolu hlelo alufani neze nokusabalalisa okuqukethwe okumile (njengoba singalayishi yonke iphakheji emile endaweni ethile), kodwa empeleni, le ndlela iphathelene ngokunembile nokusabalalisa idatha engaguquleki. Ngaphezu kwalokho, lolu hlelo lungenziwa olwengeziwe kwezinye izimo lapho okuqukethwe kungamile nje, kodwa kungamelwa njengesethi yamabhulokhi angaguquki nangasuki (yize angengezwa).

Njengesinye isibonelo (sokuqiniswa): uma usebenze ne-Jenkins/TeamCity, khona-ke uyazi ukuthi zombili izixazululo zibhalwe ku-Java. Zombili ziyinqubo ye-Java ephatha kokubili ukwakha i-orchestration nokuphathwa kokuqukethwe. Ikakhulukazi, bobabili banemisebenzi efana "nokudlulisa ifayela/ifolda kusuka kuseva." Njengesibonelo: ukukhishwa kwezinto zobuciko, ukudlulisa ikhodi yomthombo (lapho i-ejenti ingalandi ikhodi ngokuqondile endaweni yokugcina, kodwa iseva iyenzela yona), ukufinyelela kulogi. Yonke le misebenzi iyehluka ngomthwalo wayo we-IO. Okusho ukuthi, kuvela ukuthi iseva ebhekene ne-logic yebhizinisi eyinkimbinkimbi kufanele ngesikhathi esifanayo ikwazi ukusunduza ngempumelelo ukugeleza okukhulu kwedatha ngokwayo. Futhi okuthakazelisa kakhulu ukuthi ukusebenza okunjalo kungadluliselwa ku-nginx efanayo ngokuvumelana ncamashi nohlelo olufanayo (ngaphandle kokuthi ukhiye wedatha kufanele wengezwe esicelweni).

Nokho, uma sibuyela ohlelweni lwethu, sithola umdwebo ofanayo:

Amaphethini ezakhiwo alula

Njengoba ubona, uhlelo selube yinkimbinkimbi kakhulu. Manje akuyona nje inqubo encane egcina amafayela endaweni. Manje okudingekayo akukhona ukwesekwa okulula, ukulawulwa kwenguqulo ye-API, njll. Ngakho-ke, ngemva kokuthi yonke imidwebo isidwetshiwe, kungcono ukuhlola ngokuningiliziwe ukuthi ukunwebeka kuyafaneleka yini izindleko. Kodwa-ke, uma ufuna ukukwazi ukwandisa uhlelo (okubandakanya ukusebenza nenani elikhulu labasebenzisi), kuzomele uye ukuthola izixazululo ezifanayo. Kodwa, ngenxa yalokho, uhlelo selulungele ngokwezakhiwo ukuthwala umthwalo owengeziwe (cishe yonke ingxenye ingahlanganiswa ukuze kubekwe isikali esivundlile). Uhlelo lungabuyekezwa ngaphandle kokulumisa (ukuthi nje okunye ukusebenza kuzokwehliswa kancane).

Njengoba ngishilo ekuqaleni, manje inani lezinsizakalo ze-inthanethi seziqalile ukuthola umthwalo owengeziwe. Futhi abanye babo bavele bayeka ukusebenza ngendlela efanele. Eqinisweni, izinhlelo zehlulekile ngaso leso sikhathi lapho ibhizinisi bekufanele lenze imali. Okusho ukuthi, esikhundleni sokuhlehliswa kokulethwa, esikhundleni sokuphakamisa amakhasimende “hlela ukulethwa kwakho ezinyangeni ezizayo,” uhlelo luvele lwathi “iya kubancintisana nabo.” Eqinisweni, lena intengo yokukhiqiza okuphansi: ukulahlekelwa kuzokwenzeka ngaso leso sikhathi lapho inzuzo izoba phezulu kakhulu.

isiphetho

Zonke lezi zindlela zaziwa ngaphambili. I-VK efanayo kudala isebenzisa umbono we-Static Content Hosting ukubonisa izithombe. Imidlalo eminingi eku-inthanethi isebenzisa uhlelo lwe-Sharding ukuhlukanisa abadlali ngezifunda noma ukuhlukanisa izindawo zegeyimu (uma umhlaba ngokwawo ungomunye). Indlela Yokuthola Umcimbi isetshenziswa kakhulu kuma-imeyili. Iningi lezinhlelo zokusebenza zokuhweba lapho idatha ihlale itholwa khona empeleni yakhiwe ngendlela ye-CQRS ukuze ikwazi ukuhlunga idatha etholiwe. Hhayi-ke, ukukala okuvundlile kusetshenziswe ezinsizeni eziningi isikhathi eside.

Kodwa-ke, okubaluleke kakhulu, wonke lawa maphethini abe lula kakhulu ukuwasebenzisa ezinhlelweni zanamuhla (uma efanelekile, kunjalo). Amafu anikeza i-Shading kanye nokukala okuvundlile ngaso leso sikhathi, okulula kakhulu kunoku-oda amaseva ahlukene azinikele ezikhungweni zedatha ezihlukile ngokwakho. I-CQRS isibe lula kakhulu, uma nje kungenxa yokuthuthukiswa kwemitapo yolwazi efana ne-RX. Cishe eminyakeni eyi-10 edlule, iwebhusayithi engavamile ingasekela lokhu. I-Event Sourcing nayo ilula ngendlela emangalisayo ukusetha ngenxa yeziqukathi esezilungile nge-Apache Kafka. Eminyakeni eyi-10 edlule lokhu bekungaba yinto emisha, manje sekuyinto evamile. Kuyafana nokusingathwa kokuqukethwe okumile: ngenxa yobuchwepheshe obulula (okuhlanganisa neqiniso lokuthi kunemibhalo enemininingwane kanye nesizindalwazi esikhulu sezimpendulo), le ndlela isiye yaba lula nakakhulu.

Ngenxa yalokho, ukuqaliswa kwenani lamaphethini ezakhiwo eziyinkimbinkimbi manje sekulula kakhulu, okusho ukuthi kungcono ukubhekisisa kusengaphambili. Uma kuhlelo lokusebenza oluneminyaka eyishumi enye yezixazululo ezingenhla ishiywe ngenxa yezindleko eziphezulu zokuqalisa nokusebenza, manje, kuhlelo lokusebenza olusha, noma ngemva kokuhlelwa kabusha, ungakha insizakalo ezobe isivele yakhiwe kokubili enwetshiwe ( mayelana nokusebenza) futhi esezilungele izicelo ezintsha ezivela kumakhasimende (isibonelo, ukwenza idatha yomuntu siqu eyasendaweni).

Futhi okubaluleke kakhulu: sicela ungazisebenzisi lezi zindlela uma unesicelo esilula. Yebo, zinhle futhi ziyathakazelisa, kodwa kusayithi elinokuvakasha okuphezulu kwabantu abangu-100, ungakwazi ukudlula nge-monolith yakudala (okungenani ngaphandle, konke okungaphakathi kungahlukaniswa ngamamojula, njll.).

Source: www.habr.com

Engeza amazwana