Mekhoa e metle ea meralo

Hey Habr!

Ka lebaka la liketsahalo tsa hajoale ka lebaka la coronavirus, lits'ebeletso tse ngata tsa Marang-rang li se li qalile ho fumana mojaro o eketsehileng. Ka mohlala, E 'ngoe ea liketane tsa mabenkele tsa UK e ile ea emisa sebaka sa eona sa ho odara marang-rang., hobane ho ne ho se na bokhoni bo lekaneng. Hape ha se kamehla ho ka khonehang ho potlakisa seva ka ho eketsa lisebelisoa tse matla haholoanyane, empa likopo tsa bareki li tlameha ho sebetsoa (kapa li tla ea ho bahlolisani).

Sehloohong sena ke tla bua ka bokhutšoanyane ka mekhoa e tloaelehileng e tla u lumella ho etsa tšebeletso e potlakileng le e mamellang liphoso. Leha ho le joalo, ho tsoa mererong ea ntlafatso e ka bang teng, ke khethile feela tse teng hajoale bonolo ho sebelisa. Bakeng sa ntho e 'ngoe le e' ngoe, u ka ba le lilaebrari tse lokiselitsoeng, kapa u na le monyetla oa ho rarolla bothata u sebelisa sethala sa leru.

Sekala se otlolohileng

Ntlha e bonolo le e tsebahalang haholo. Ka mokhoa o ts'oanang, merero e 'meli e tloaelehileng ea kabo ea mojaro ke sekala se otlolohileng le se otlolohileng. Boemong ba pele o lumella lits'ebeletso hore li tsamaee ka mokhoa o ts'oanang, ka hona li aba mojaro lipakeng tsa tsona. Ea bobeli o odara li-server tse matla ho feta kapa o ntlafatsa khoutu.

Mohlala, ke tla nka polokelo ea faele ea leru e sa bonahaleng, ke hore, analogue e 'ngoe ea OwnCloud, OneDrive, joalo-joalo.

Setšoantšo se tloaelehileng sa potoloho e joalo se ka tlase, empa se bontša feela ho rarahana ha tsamaiso. Ntle le moo, re hloka ho hokahanya lits'ebeletso ka tsela e itseng. Ho etsahala'ng haeba mosebelisi a boloka faele ho tsoa letlapeng ebe o batla ho e shebella fonong?

Mekhoa e metle ea meralo
Phapang pakeng tsa mekhoa ea ho atamela: ka tekanyo e otlolohileng, re itokiselitse ho eketsa matla a li-node, 'me ka sekhahla se otlolohileng, re itokiselitse ho eketsa li-node tse ncha ho aba mojaro.

CQRS

Karohano ea Boikarabello ba Potso ea Taelo Mokhoa oa bohlokoa haholo, kaha o lumella bareki ba fapaneng hore ba se ke ba hokela lits'ebeletso tse fapaneng feela, empa hape le ho amohela melapo e tšoanang ea liketsahalo. Melemo ea eona ha e hlake haholo bakeng sa ts'ebeliso e bonolo, empa e bohlokoa haholo (mme e bonolo) bakeng sa ts'ebeletso e phathahaneng. Taba ea mantlha: phallo ea data e kenang le e tsoang ha ea lokela ho kopana. Ke hore, u ke ke ua romela kopo 'me ua lebella karabo; ho e-na le hoo, u romela kopo ho tšebeletso ea A, empa u fumana karabo ho tsoa ho tšebeletso ea B.

Bonus ea pele ea mokhoa ona ke bokhoni ba ho senya khokahanyo (ka kutloisiso e pharaletseng ea lentsoe) ha u ntse u etsa kopo e telele. Mohlala, ha re nkeng tatellano e tloaelehileng:

  1. Moreki o rometse kopo ho seva.
  2. Seva e qalile nako e telele ea ho sebetsa.
  3. Seva e arabetse moreki ka sephetho.

A re nahaneng hore ntlheng ea 2 khokahanyo e ne e robehile (kapa marang-rang a kopantsoe hape, kapa mosebedisi o ile a ea leqepheng le leng, a senya khokahanyo). Tabeng ena, ho tla ba thata ho seva ho romela karabo ho mosebedisi ka tlhahisoleseding mabapi le hore na hantle-ntle ho sebetsitsoe eng. U sebelisa CQRS, tatellano e tla fapana hanyane:

  1. Moreki o ingoliselitse ho lintlafatso.
  2. Moreki o rometse kopo ho seva.
  3. Seva e arabetse "kopo e amohetsoe."
  4. Seva e ile ea arabela ka sephetho ka mocha ho tloha ntlha ea "1".

Mekhoa e metle ea meralo

Joalokaha u ka bona, morero ona o thata haholoanyane. Ho feta moo, mokhoa o hlakileng oa ho arabela kopo ha o eo mona. Leha ho le joalo, joalo ka ha u bona, khefu ea khokahano ha o ntse o sebetsa kopo e ke ke ea baka phoso. Ho feta moo, haeba ha e le hantle mosebedisi o hokahane le ts'ebeletso ho tsoa lisebelisoa tse 'maloa (mohlala, ho tloha selefouno le ho tloha letlapeng), u ka etsa bonnete ba hore karabo e tla ho lisebelisoa tse peli.

Hoa thahasellisa hore khoutu ea ho sebetsana le melaetsa e kenang e fetoha e ts'oanang (eseng 100%) ka bobeli bakeng sa liketsahalo tse ileng tsa susumetsoa ke moreki ka boeena, le bakeng sa liketsahalo tse ling, ho kenyelletsa le tse tsoang ho bareki ba bang.

Leha ho le joalo, ha e le hantle re fumana bonus e eketsehileng ka lebaka la hore phallo e sa tšoaneng e ka sebetsanoa ka mokhoa o sebetsang (ho sebelisa RX le tse tšoanang). 'Me sena e se e ntse e le phaello e tebileng, kaha ha e le hantle kopo e ka etsoa ka ho feletseng, hape e sebelisa mokhoa o sebetsang. Bakeng sa mananeo a mafura, sena se ka boloka haholo nts'etsopele le lisebelisoa tsa tšehetso.

Haeba re kopanya mokhoa ona ka sekhahla se otlolohileng, joale joalo ka bonase re fumana bokhoni ba ho romella likopo ho seva se le seng le ho fumana likarabo ho tsoa ho e 'ngoe. Kahoo, moreki a ka khetha tšebeletso e mo loketseng, 'me tsamaiso e ka hare e ntse e tla khona ho sebetsana le liketsahalo ka nepo.

Ho Fumana Ketsahalo

Joalokaha u tseba, e 'ngoe ea likarolo tse ka sehloohong tsa tsamaiso e ajoang ke ho ba sieo ha nako e tloaelehileng, karolo e tloaelehileng ea bohlokoa. Bakeng sa ts'ebetso e le 'ngoe, o ka etsa synchronization (ho li-mutexes tse tšoanang), moo u nang le bonnete ba hore ha ho motho e mong ea sebelisang khoutu ena. Leha ho le joalo, sena se kotsi bakeng sa tsamaiso e ajoang, kaha e tla hloka holimo, hape e tla bolaea botle bohle ba ho lekanya - likarolo tsohle li ntse li tla emela e le 'ngoe.

Ho tloha mona re fumana 'nete ea bohlokoa - tsamaiso e ajoang ka potlako e ke ke ea lumellana, hobane joale re tla fokotsa ts'ebetso. Ka lehlakoreng le leng, hangata re hloka ho lumellana ho itseng pakeng tsa likarolo. 'Me bakeng sa sena u ka sebelisa mokhoa ona ho tsitsa hoa qetellong, moo ho tiisetsoang hore haeba ho se na liphetoho tsa data ka nako e itseng ka mor'a ntlafatso ea ho qetela ("qetellong"), lipotso tsohle li tla khutlisetsa boleng ba ho qetela bo ntlafalitsoeng.

Ho bohlokoa ho utloisisa hore bakeng sa li-database tsa khale e sebelisoa hangata tsitsinyeho e matla, moo node e 'ngoe le e' ngoe e nang le boitsebiso bo tšoanang (sena se atisa ho finyelloa tabeng eo ho nkoang hore transaction e thehiloe feela ka mor'a hore seva sa bobeli se arabe). Ho na le phomolo mona ka lebaka la maemo a ho itšehla thajana, empa mohopolo o akaretsang o ntse o tšoana - o ka phela lefatšeng le lumellanang ka botlalo.

Leha ho le joalo, a re khutleleng mosebetsing oa pele. Haeba karolo ea tsamaiso e ka hahoa ka ho tsitsa hoa qetellong, joale re ka etsa setšoantšo se latelang.

Mekhoa e metle ea meralo

Lintlha tsa bohlokoa tsa mokhoa ona:

  • Kopo e 'ngoe le e 'ngoe e kenang e behoa moleng o le mong.
  • Ha e ntse e sebetsa kopo, tšebeletso e ka boela ea beha mesebetsi meleng e meng.
  • Ketsahalo e 'ngoe le e' ngoe e kenang e na le sekhetho (se hlokahalang bakeng sa ho fokotsa).
  • Lethathamo le sebetsa ho latela "append only" scheme. U ke ke ua tlosa likarolo ho eona kapa ua li hlophisa bocha.
  • Lethathamo le sebetsa ho latela morero oa FIFO (masoabi bakeng sa tautology). Haeba u hloka ho etsa ts'ebetso e ts'oanang, joale ka nako e le 'ngoe u lokela ho isa lintho meleng e fapaneng.

E-re ke u hopotse hore re ntse re nahana ka taba ea ho boloka lifaele tsa inthaneteng. Tabeng ena, tsamaiso e tla shebahala tjena:

Mekhoa e metle ea meralo

Ke habohlokoa hore litšebeletso tse setšoantšong li se ke tsa bolela seva se arohaneng. Esita le ts'ebetso e ka 'na ea tšoana. Ntho e 'ngoe ke ea bohlokoa: ka maikutlo, lintho tsena li arotsoe ka tsela eo ka eona ho ka sebelisoang habonolo.

Mme bakeng sa basebelisi ba babeli setšoantšo se tla shebahala tjena (litšebeletso tse reretsoeng basebelisi ba fapaneng li bonts'itsoe ka mebala e fapaneng):

Mekhoa e metle ea meralo

Li-bonase tse tsoang ho motsoako o joalo:

  • Litšebeletso tsa ts'ebetso ea tlhahisoleseling li arohane. Mela le eona e arohane. Haeba re hloka ho eketsa ts'ebetso ea sistimi, joale re hloka feela ho qala lits'ebeletso tse ling ho li-server tse ngata.
  • Ha re fumana tlhahisoleseling ho tsoa ho mosebelisi, ha ho hlokahale hore re eme ho fihlela data e bolokiloe ka botlalo. Ho fapana le hoo, re hloka feela ho araba "ok" ebe butle-butle re qala ho sebetsa. Ka nako e ts'oanang, mokoloko o theola litlhōrō, kaha ho eketsa ntho e ncha ho etsahala ka potlako, 'me mosebeletsi ha aa tlameha ho emela ho feta ho feletseng ho pholletsa le potoloho eohle.
  • Ka mohlala, ke kentse tšebeletso ea deduplication e lekang ho kopanya lifaele tse tšoanang. Haeba e sebetsa nako e telele ho 1% ea linyeoe, mofani a ke ke a e hlokomela (bona ka holimo), e leng phaello e kholo, kaha ha re sa hlokeha ho ba XNUMX% lebelo le ho tšepahala.

Leha ho le joalo, mefokolo e bonahala hang-hang:

  • Sistimi ea rona e lahlehetsoe ke botsitso ba eona bo tiileng. Sena se bolela hore haeba, ka mohlala, u ngolisa litšebeletsong tse fapaneng, joale ka khopolo u ka fumana boemo bo fapaneng (kaha e 'ngoe ea litšebeletso e ka' na ea se ke ea ba le nako ea ho fumana tsebiso ho tsoa mokolokong oa ka hare). Ka lebaka le leng, tsamaiso hona joale ha e na nako e tšoanang. Ke hore, ho ke ke ha khoneha, ka mohlala, ho hlophisa liketsahalo tsohle feela ka nako ea ho fihla, kaha lioache pakeng tsa li-server li ka 'na tsa se ke tsa lumellana (ho feta moo, nako e le 'ngoe ho li-server tse peli ke utopia).
  • Ha ho liketsahalo tse ka khutlisoang morao feela (joalo ka ha ho ka etsoa ka database). Ho e-na le hoo, o hloka ho kenya ketsahalo e ncha − ketsahalo ea matšeliso, e tla fetola boemo ba ho qetela ho e hlokahalang. E le mohlala ho tsoa sebakeng se ts'oanang: ntle le nalane ea ho ngola bocha (e leng mpe maemong a mang), u ke ke ua khutlisa boitlamo ho git, empa u ka etsa e khethehileng. boitlamo ba ho khutlisa, eo ha e le hantle e khutlisetsang boemo ba khale. Leha ho le joalo, boitlamo bo fosahetseng le ho khutlisetsoa morao ho tla sala nalaneng.
  • Sekema sa data se ka fetoha ho tloha tokollong ho ea ho tokollo, empa liketsahalo tsa khale li ke ke tsa hlola li khona ho nchafatsoa ho ea maemong a macha (kaha liketsahalo li ke ke tsa fetoloa ka molao-motheo).

Joalo ka ha u bona, Ketsahalo ea Sourcing e sebetsa hantle le CQRS. Ho feta moo, ho kenya ts'ebetsong tsamaiso e nang le mela e sebetsang hantle le e bonolo, empa ntle le ho arola phallo ea data, ho se ho ntse ho le thata ka boeona, hobane u tla tlameha ho eketsa lintlha tsa ho lumellana tse tla fokotsa phello eohle e ntle ea mela. Ho sebelisa mekhoa e 'meli ka nako e le' ngoe, hoa hlokahala ho fetola khoutu ea lenaneo hanyenyane. Tabeng ea rona, ha u romela faele ho seva, karabo e tla feela "ok", e bolelang feela hore "ts'ebetso ea ho eketsa faele e bolokiloe." Ha e le hantle, sena ha se bolele hore data e se e fumaneha lisebelisoa tse ling (mohlala, tšebeletso ea deduplication e ka tsosolosa index). Leha ho le joalo, ka mor'a nako e itseng, moreki o tla fumana tsebiso ka mokhoa oa "file X e bolokiloe."

Ka hoo:

  • Palo ea lifaele tse romelloang e ntse e eketseha: sebakeng sa "file e rometsoeng" ea khale, re fumana tse peli: "faele e kentsoe moleng oa seva" mme "faele e bolokiloe polokelong." Ea ho qetela e bolela hore lisebelisoa tse ling li se li ka qala ho amohela faele (e fetotsoe bakeng sa hore mela e sebetsa ka lebelo le fapaneng).
  • Ka lebaka la hore litaba tsa tlhahiso hona joale li tla ka litsela tse fapaneng, re hloka ho tla le litharollo tsa ho fumana boemo ba ho sebetsa ha faele. Ka lebaka la sena: ho fapana le karabo ea khale ea kopo, moreki a ka qalisoa bocha ha a ntse a sebetsa faele, empa boemo ba ts'ebetso ena ka boyona bo tla nepahala. Ho feta moo, ntho ena e sebetsa, ha e le hantle, ka ntle ho lebokose. Ka lebaka leo: hona joale re mamella ho hloleha ho feta.

Ho fokotsa

Joalokaha ho hlalositsoe ka holimo, litsamaiso tsa ho fumana liketsahalo ha li na botsitso bo tiileng. Sena se bolela hore re ka sebelisa polokelo tse 'maloa ntle le khokahano lipakeng tsa tsona. Ho atamela bothata ba rona, re ka:

  • Arola lifaele ka mofuta. Ho etsa mohlala, litšoantšo/livideo li ka khethoa 'me ho ka khethoa sebopeho se sebetsang hantle haholoanyane.
  • Arola liakhaonto ho ea ka linaha. Ka lebaka la melao e mengata, sena se ka 'na sa hlokoa, empa morero ona oa meralo o fana ka monyetla o joalo ka bohona

Mekhoa e metle ea meralo

Haeba u batla ho fetisetsa data ho tloha polokelong e 'ngoe ho ea ho e' ngoe, joale mekhoa e tloaelehileng ha e sa lekana. Ka bomalimabe, tabeng ena, o hloka ho emisa mokoloko, etsa ho falla, ebe o qala. Ka kakaretso, data e ke ke ea fetisoa "ka fofa", leha ho le joalo, haeba mokoloko oa liketsahalo o bolokiloe ka ho feletseng, 'me u na le linepe tsa libaka tsa polokelo tse fetileng, joale re ka bapala liketsahalo ka tsela e latelang:

  • Mohloling oa Ketsahalo, ketsahalo e 'ngoe le e' ngoe e na le sekhetho sa eona (ha e le hantle, ha se fokotsehe). Sena se bolela hore re ka eketsa sebaka sa polokelo - id ea ntho ea ho qetela e sebetsitsoeng.
  • Re qopitsa letoto e le hore liketsahalo tsohle li ka sebetsoa bakeng sa polokelo e mengata e ikemetseng (ea pele ke eo data e seng e bolokiloe ho eona, 'me ea bobeli e ncha, empa e ntse e se na letho). Letoto la bobeli, ehlile, ha le e-so sebetsoe.
  • Re qala letoto la bobeli (ke hore, re qala ho bapala liketsahalo hape).
  • Ha lethathamo le lecha le batla le se na letho (ke hore, phapang e tloaelehileng ea nako pakeng tsa ho kenya elemente le ho e khutlisa e amoheleha), u ka qala ho fetolela babali polokelong e ncha.

Joalo ka ha u bona, re ne re sena, 'me re ntse re sena, botsitso bo tiileng tsamaisong ea rona. Ho na le ts'ebetso ea ho qetela, ke hore, tiisetso ea hore liketsahalo li sebetsoa ka tatellano e le 'ngoe (empa mohlomong ka tieho e fapaneng). 'Me, ka ho sebelisa sena, re ka fetisetsa data habonolo ntle le ho emisa tsamaiso ho ea ka lehlakoreng le leng la lefats'e.

Kahoo, ho tsoela pele ka mohlala oa rona mabapi le polokelo ea marang-rang bakeng sa lifaele, meaho e joalo e se e ntse e re fa libonase tse 'maloa:

  • Re ka tsamaisa lintho haufi le basebelisi ka tsela e matla. Ka tsela ena u ka ntlafatsa boleng ba tšebeletso.
  • Re ka boloka lintlha ka har'a lik'hamphani. Mohlala, basebelisi ba Enterprise hangata ba hloka hore data ea bona e bolokoe litsing tsa data tse laoloang (ho qoba ho lutla ha data). Ka ho sharding re ka tšehetsa sena habonolo. 'Me mosebetsi o bonolo le ho feta haeba moreki a e-na le leru le lumellanang (mohlala, Azure e ikemetseng).
  • 'Me ntho ea bohlokoa ka ho fetisisa ke hore ha rea ​​​​lokela ho etsa sena. Ntle le moo, ho qala, re ka thabela polokelo e le 'ngoe bakeng sa li-account tsohle (ho qala ho sebetsa kapele). 'Me karolo ea bohlokoa ea tsamaiso ena ke hore le hoja e ka atolosoa, qalong e bonolo haholo. Ha ua tlameha ho ngola hanghang khoutu e sebetsang le mela e ikemetseng e ikemetseng e limilione, jj. Haeba ho hlokahala, sena se ka etsoa nakong e tlang.

Static Content Hosting

Ntlha ena e kanna ea bonahala e hlakile, empa e ntse e hlokahala bakeng sa ts'ebeliso ea maemo a holimo kapa a tlase. Ntho ea eona e bonolo: litaba tsohle tse tsitsitseng ha li abuoe ho tsoa ho seva se le seng moo kopo e leng teng, empa ho tsoa ho tse khethehileng tse inehetseng ka ho khetheha mosebetsing ona. Ka lebaka leo, lits'ebetso tsena li etsoa ka potlako (conditional nginx e sebeletsa lifaele kapele le ka theko e tlase ho feta seva sa Java). Meaho e eketsehileng ea CDN (Ts'ebetso ea Ts'ebetso) e re lumella ho fumana lifaele tsa rona haufi le basebelisi ba ho qetela, e leng se nang le phello e ntle molemong oa ho sebetsa le ts'ebeletso.

Mohlala o bonolo le o tloaelehileng ka ho fetisisa oa litaba tse tsitsitseng ke sete ea mangolo le litšoantšo tsa sebaka sa marang-rang. Ntho e 'ngoe le e' ngoe e bonolo ho bona - e tsejoa esale pele, joale polokelo e kenngoa ho li-server tsa CDN, ho tloha moo li abeloang ho basebelisi ba ho qetela.

Leha ho le joalo, ha e le hantle, bakeng sa litaba tse tsitsitseng, u ka sebelisa mokhoa o batlang o tšoana le oa meralo ea lambda. Ha re khutlele mosebetsing oa rona (ho boloka lifaele tsa inthaneteng), moo re hlokang ho abela basebelisi lifaele. Tharollo e bonolo ka ho fetisisa ke ho theha tšebeletso eo, bakeng sa kopo e 'ngoe le e' ngoe ea mosebedisi, e etsang licheke tsohle tse hlokahalang (tumello, joalo-joalo), ebe e khoasolla faele ka ho toba polokelong ea rona. Bothata bo ka sehloohong ba mokhoa ona ke hore litaba tse tsitsitseng (le faele e nang le phetoho e itseng, ha e le hantle, e na le litaba tse tsitsitseng) e ajoa ke seva se tšoanang se nang le mohopolo oa khoebo. Ho e-na le hoo, o ka etsa setšoantšo se latelang:

  • Seva e fana ka URL ea ho jarolla. E ka ba ea foromo file_id + senotlolo, moo senotlolo e leng saena ea mini-digital e fanang ka tokelo ea ho fumana mohloli bakeng sa lihora tse XNUMX tse latelang.
  • Faele e tsamaisoa ke nginx e bonolo ka likhetho tse latelang:
    • Ho boloka litaba. Kaha ts'ebeletso ena e ka fumaneha ho seva e arohaneng, re iketsetse sebaka sa bokamoso ka bokhoni ba ho boloka lifaele tsohle tsa morao-rao tse jarollotsoeng ho disk.
    • Ho hlahloba senotlolo nakong ea ho theha khokahano
  • Taba ea boikhethelo: ts'ebetso ea litaba tsa ho phallela. Mohlala, haeba re hatella lifaele tsohle tse ts'ebeletso, re ka etsa unzipping ka kotloloho mojuleng ona. Ka lebaka leo: Ts'ebetso ea IO e etsoa moo e leng teng. Setsi sa polokelo ea litokomane ho Java se tla fana ka memori e mengata habonolo, empa ho ngola ts'ebeletso e nang le mohopolo oa khoebo ho maemo a Rust / C ++ le hona ho kanna ha se sebetse. Tabeng ea rona, ho sebelisoa lits'ebetso tse fapaneng (kapa esita le lits'ebeletso), ka hona re ka arola maano a khoebo le ts'ebetso ea IO hantle.

Mekhoa e metle ea meralo

Morero ona ha o tšoane haholo le ho aba litaba tse tsitsitseng (kaha ha re kenye sephutheloana sa static hohle kae-kae), empa ha e le hantle, mokhoa ona o ameha ka ho toba ka ho aba lintlha tse sa fetoheng. Ho feta moo, morero ona o ka kenyelletsoa maemong a mang moo litaba li sa tsitsang feela, empa li ka emeloa e le sete sa li-blocks tse ke keng tsa fetoha le tse sa hlakoleheng (le hoja li ka eketsoa).

E le mohlala o mong (bakeng sa ho matlafatsa): haeba u sebelitse le Jenkins / TeamCity, joale ua tseba hore tharollo ka bobeli e ngotsoe Java. Ka bobeli ke ts'ebetso ea Java e sebetsanang le 'mino oa liletsa le taolo ea litaba. Haholo-holo, ka bobeli ba na le mesebetsi e kang "phetisetsa faele / foldara ho tsoa ho seva." Ka mohlala: ho fana ka lintho tse entsoeng ka matsoho, ho fetisetsa khoutu ea mohloli (ha moemeli a sa khoasolle khoutu ka ho toba ho tloha polokelong, empa seva e mo etsetsa eona), ho fihlella ho logs. Mesebetsi ena kaofela e fapana ka mojaro oa bona oa IO. Ke hore, hoa etsahala hore seva se ikarabellang bakeng sa logic e rarahaneng ea khoebo ka nako e ts'oanang e tlameha ho khona ho sutumelletsa ka katleho phallo e kholo ea data ka boeona. 'Me se thahasellisang ka ho fetisisa ke hore ts'ebetso e joalo e ka abeloa ho nginx e tšoanang ho ea ka morero o tšoanang hantle (ntle le hore senotlolo sa data se lokela ho kenngoa kopo).

Leha ho le joalo, haeba re khutlela tsamaisong ea rona, re fumana setšoantšo se tšoanang:

Mekhoa e metle ea meralo

Joalokaha u ka bona, tsamaiso e fetohile e rarahaneng haholo. Hona joale ha se ts'ebetso e nyane feela e bolokang lifaele sebakeng sa heno. Hona joale se hlokahalang ha se tšehetso e bonolo ka ho fetisisa, taolo ea mofuta oa API, joalo-joalo. Ka hona, ka mor'a hore litšoantšo tsohle li toroe, ho molemo ho hlahloba ka botlalo hore na ho atolosa ho na le litšenyehelo. Leha ho le joalo, haeba u batla ho khona ho atolosa tsamaiso (ho kenyeletsoa ho sebetsa le palo e kholoanyane ea basebelisi), joale u tla tlameha ho ea bakeng sa tharollo e tšoanang. Empa, ka lebaka leo, sisteme e itokiselitse meralo bakeng sa mojaro o eketsehileng (hoo e batlang e le karolo e 'ngoe le e' ngoe e ka etsoa ka mokhoa o ts'oanang oa ho lekanya). Sistimi e ka nchafatsoa ntle le ho e emisa (lits'ebetso tse ling li tla theoleha hanyane).

Joalokaha ke boletse qalong, hajoale litšebeletso tse ngata tsa Marang-rang li se li qalile ho fumana mojaro o eketsehileng. 'Me ba bang ba bona ba ile ba qala ho khaotsa ho sebetsa hantle. Ha e le hantle, litsamaiso li ile tsa hlōleha hantle nakong eo khoebo e neng e lokela ho etsa chelete. Ka mantsoe a mang, ho e-na le ho fetisetsoa morao, ho e-na le ho fana ka maikutlo ho bareki "rerang ho tlisa thepa ea hau bakeng sa likhoeli tse tlang," tsamaiso e mpa e re "ea ho bahlolisani ba hau." Ha e le hantle, ena ke theko ea tlhahiso e tlaase: tahlehelo e tla etsahala hantle ha phaello e ka ba e phahameng ka ho fetisisa.

fihlela qeto e

Mekhoa ena eohle e ne e tsejoa pele. E tšoanang VK haesale e sebelisa mohopolo oa Static Content Hosting ho bonts'a litšoantšo. Lipapali tse ngata tsa Marang-rang li sebelisa leano la Sharding ho arola libapali ka libaka kapa ho arola libaka tsa lipapali (haeba lefatše ka bolona le le leng). Mokhoa oa ho fumana ketsahalo o sebelisoa ka mafolofolo ho lengolo-tsoibila. Likopo tse ngata tsa khoebo moo data e lulang e amoheloa e hlile e hahiloe holim'a mokhoa oa CQRS e le hore o tsebe ho sefa lintlha tse amoheloang. Le ha ho le joalo, sekala se otlolohileng se 'nile sa sebelisoa litšebeletsong tse ngata ka nako e telele.

Leha ho le joalo, ntho ea bohlokoa ka ho fetisisa, mekhoa ena kaofela e se e le bonolo haholo ho e sebelisa lits'ebetsong tsa morao-rao (haeba li loketse, ho hlakile). Clouds e fana ka Sharding le ho hola ka mokhoa o otlolohileng hang-hang, ho leng bonolo ho feta ho odara li-server tse fapaneng tse inehetseng litsing tse fapaneng tsa data ka bouena. CQRS e se e le bonolo haholo, haeba feela ka lebaka la nts'etsopele ea lilaebrari tse kang RX. Hoo e ka bang lilemo tse 10 tse fetileng, sebaka sa marang-rang se sa tloaelehang se ka tšehetsa sena. Event Sourcing e boetse e bonolo haholo ho e theha ka lebaka la lijana tse seng li entsoe ka Apache Kafka. Lilemong tse 10 tse fetileng sena e ka be e le mokhoa o mocha, joale o se o tloaelehile. Hoa tšoana le ka Static Content Hosting: ka lebaka la theknoloji e bonolo haholoanyane (ho kenyeletsoa taba ea hore ho na le litokomane tse qaqileng le database e kholo ea likarabo), mokhoa ona o se o le bonolo le ho feta.

Ka lebaka leo, ts'ebetsong ea mekhoa e mengata ea meralo e rarahaneng e se e le bonolo haholoanyane, ho bolelang hore ho molemo ho e hlahlobisisa esale pele. Haeba ts'ebetsong ea lilemo tse leshome e 'ngoe ea litharollo tse ka holimo e ile ea lahloa ka lebaka la litšenyehelo tse phahameng tsa ts'ebetsong le ts'ebetsong, hona joale, ka kopo e ncha, kapa ka mor'a ho tsosolosa, u ka etsa tšebeletso e tla be e se e ntse e atolosoa ka bobeli. mabapi le ts'ebetso) le ho lokisetsoa likopo tse ncha ho tsoa ho bareki (mohlala, ho etsa data ea hau sebakeng sa heno).

Habohlokoa le ho feta: ka kopo u se ke oa sebelisa mekhoa ena haeba u na le sesebelisoa se bonolo. E, li ntle ebile li thahasellisa, empa bakeng sa sebaka se nang le ketelo ea tlhōrō ea batho ba 100, hangata u ka khona ho feta ka monolith ea khale (bonyane ka ntle, ntho e 'ngoe le e' ngoe e ka hare e ka aroloa ka li-modules, joalo-joalo).

Source: www.habr.com

Eketsa ka tlhaloso