Ho khetha mokhoa oa ho aha (karolo ea 1)

Hello, habr. Ho ingolisa bakeng sa mokhoa o mocha oa thuto ho bulehile hona joale OTUS "Software Architect". Bosiung ba ho qala thupelo, ke batla ho arolelana le uena sengoloa sa ka sa mantlha.

Selelekela

Khetho ea setaele sa meralo ke e 'ngoe ea liqeto tsa mantlha tsa tekheniki ha u theha sistimi ea tlhahisoleseling. Letotong lena la lingoloa, ke sisinya ho sekaseka mekhoa ea meralo e tsebahalang haholo bakeng sa lits'ebetso tsa moaho le ho araba potso ea hore na ke setaele sefe sa meralo se ratoang haholo. Ha ke ntse ke fana ka tlhahiso, ke tla leka ho hula ketane e utloahalang e hlalosang tsoelo-pele ea mekhoa ea meralo ho tloha monoliths ho ea ho microservices.

Pale ea histori

Haeba u leka ho botsa bahlahisi: "Ke hobane'ng ha re hloka li-microservices?", U tla fumana likarabo tse sa tšoaneng. U tla utloa hore li-microservices li ntlafatsa scalability, etsa hore khoutu e utloisisehe habonolo, e ntlafatse mamello ea liphoso, 'me ka linako tse ling u tla utloa hore e u lumella ho "hloekisa khoutu ea hau." Ha re shebeng nalane ho utloisisa sepheo sa ho hlaha ha li-microservices.

Ka bokhutšoanyane, li-microservices kutloisisong ea rona ea hona joale li hlahile ka tsela e latelang: ka 2011, James Lewis, ha a hlahloba mosebetsi oa lik'hamphani tse fapa-fapaneng, o ile a lebisa tlhokomelo ea ho hlaha ha mokhoa o mocha oa "micro-app", o ntlafalitseng SOA mabapi le ho potlakisa ho romelloa. ditshebeletso. Nakoana hamorao, ka 2012, kopanong ea meralo ea meralo, mokhoa ona o ile oa rehoa lebitso la microservice. Kahoo, sepheo sa pele sa ho hlahisa li-microservices e ne e le ho ntlafatsa tse tummeng hampe nako ea ho rekisa.

Li-Microservices li ne li le leqhubu la hype ka 2015. Ho ea ka liphuputso tse ling, ha ho seboka se le seng se ileng sa phethoa ntle le tlaleho ka sehlooho sa microservices. Ho feta moo, likopano tse ling li ne li nehetsoe feela ho li-microservices. Matsatsing ana, merero e mengata e qala ho sebelisa mokhoa ona oa meralo, 'me haeba morero o na le lithane tsa khoutu ea lefa, joale ho fallela ho microservices mohlomong ho ntse ho etsoa ka mafolofolo.

Ho sa tsotellehe tsohle tse ka holimo, palo e fokolang ea batho ba ntlafatsang e ntse e ka hlalosa mohopolo oa "microservice". Empa re tla bua ka taba ena hamorao...

Monolith

Setaele sa meralo se bapisang li-microservices ke monolith (kapa tsohle ka bonngoe). Mohlomong ha ho utloahale ho bolela hore na monolith ke eng, kahoo hang-hang ke tla thathamisa mefokolo ea mokhoa ona oa ho haha, o qalileng tsoelo-pele e eketsehileng ea mekhoa ea meralo: boholo, khokahanyo, ho tsamaisoa, scalability, ho tšepahala le ho tiea. Ka tlase ke etsa tlhahiso ea ho sheba e 'ngoe le e' ngoe ea mefokolo ka thoko.

boholo

Monolith e kholo haholo. 'Me hangata e buisana le database e kholo haholo. Ts'ebeliso e ba kholo haholo hore moqapi a le mong a ka e utloisisa ho hang. Ke feela ba qetileng nako e ngata ba sebetsa khoutu ena ba ka sebetsana hantle le monolith, ha ba qalang ba tla qeta nako e ngata ba leka ho fumana monolith 'me ha ho na tiiso ea hore ba tla e utloisisa. Hangata, ha u sebetsa le monolith, kamehla ho na le "maemo" a mang a phahameng a tsebang monolith hantle kapa a otla matsoho a bahlahisi ba bang ba bacha nakong ea selemo le halofo. Ka tlhaho, motho ea joalo ea nang le maemo a phahameng ke ntlha e le 'ngoe ea ho hlōleha,' me ho tloha ha hae ho ka lebisa lefung la monolith.

Khokahano

Monolith ke "bolo e kholo ea seretse", liphetoho tse ka lebisang liphellong tse sa lebelloang. Ka ho etsa liphetoho sebakeng se le seng, o ka senya monolith ho e 'ngoe (e tšoanang "u ngotse tsebe ea hau, * @ e ile ea theoha"). Sena se bakoa ke taba ea hore likarolo tsa monolith li na le mathata a mangata haholo 'me, haholo-holo, likamano tse sa hlakang.

Tsamaiso

Ho tsamaisa monolith, ka lebaka la likamano tse rarahaneng pakeng tsa likarolo tsa eona, ke ts'ebetso e telele e nang le moetlo oa eona. Moetlo o joalo hangata ha o tloaelehe ka ho feletseng ’me o fetisoa “ka molomo.”

Ho se sebetse

Li-monolith modules li ka 'na tsa e-ba le litlhoko tse hanyetsanang tsa lisebelisoa, tse hlokang ho sekisetsa ho etsoa ho latela hardware. Ak'u nahane hore u na le monolith e nang le litšebeletso tsa A le B. Tšebeletso ea A e batla ka boholo ba hard drive, 'me tšebeletso ea B e batla ho RAM. Tabeng ena, mochine oo monolith o kentsoeng ho oona o tlameha ho tšehetsa litlhoko tsa litšebeletso ka bobeli, kapa o tla tlameha ho thibela e 'ngoe ea litšebeletso ka letsoho.

Mohlala o mong (oa khale haholo): tšebeletso ea A e tumme haholo ho feta tšebeletso ea B, kahoo u batla hore ho be le litšebeletso tse 100 A, le litšebeletso tse 10 B. Hape, mekhoa e 'meli: re sebelisa li-monoliths tse 100 tse feletseng, kapa tse ling ka nako eo. litšebeletso B li tla tlameha ho holofala ka letsoho.

Ho tšepahala

Kaha litšebeletso tsohle li teng hammoho, haeba monolith e oa, joale litšebeletso tsohle li oela hang-hang. Ha e le hantle, sena se ka 'na sa se ke sa e-ba mpe hakaalo, bonyane ho ke ke ha e-ba le mefokolo e fokolang tsamaisong e ajoang, empa ka lehlakoreng le leng, ka lebaka la phoso ea ts'ebetso e sebelisoang ke 0.001% ea basebelisi, u ka lahleheloa ke basebelisi bohle. ea tsamaiso ea hau.

Inertia

Ka lebaka la boholo ba monolith, ho thata ho fetohela ho mahlale a macha. Ka lebaka leo, ho boloka motho e moholo ea tšoanang ke mosebetsi o fapaneng. Theknoloji ea theknoloji e khethiloeng qalong ea morero e ka fetoha thibela e sitisang tsoelo-pele ea sehlahisoa.

fihlela qeto e

Nakong e tlang re tla bua ka hore na batho ba lekile ho rarolla mathata ana joang ka ho fallela likarolong le SOA.

Ho khetha mokhoa oa ho aha (karolo ea 1)

Bala haholoanyane:

Source: www.habr.com

Eketsa ka tlhaloso