Sveiki, habr. Å obrÄ«d OTUS ir atvÄrta pieteikÅ”anÄs jaunai kursu straumei
Ievads
ArhitektÅ«ras stila izvÄle ir viens no fundamentÄlajiem tehniskajiem lÄmumiem, veidojot informÄcijas sistÄmu. Å ajÄ rakstu sÄrijÄ es piedÄvÄju analizÄt populÄrÄkos arhitektÅ«ras stilus bÅ«vniecÄ«bas vajadzÄ«bÄm un atbildÄt uz jautÄjumu, kad kurÅ” arhitektÅ«ras stils ir vispiemÄrotÄkais. PrezentÄcijas procesÄ mÄÄ£inÄÅ”u novilkt loÄ£isku Ä·Ädi, kas izskaidro arhitektÅ«ras stilu attÄ«stÄ«bu no monolÄ«tiem lÄ«dz mikropakalpojumiem.
Nedaudz vÄstures
MÄÄ£inot jautÄt izstrÄdÄtÄjiem: āKÄpÄc mums nepiecieÅ”ami mikropakalpojumi?ā, jÅ«s saÅemsiet dažÄdas atbildes. JÅ«s dzirdÄsiet, ka mikropakalpojumi uzlabo mÄrogojamÄ«bu, padara kodu vieglÄk saprotamu, uzlabo kļūdu toleranci, un dažreiz jÅ«s dzirdÄsiet, ka tie ļauj "iztÄ«rÄ«t kodu". ApskatÄ«sim vÄsturi, lai saprastu mikropakalpojumu raÅ”anÄs mÄrÄ·i.
ÄŖsi sakot, mikropakalpojumi mÅ«su paÅ”reizÄjÄ izpratnÄ radÄs Å”Ädi: 2011. gadÄ Džeimss LÅ«iss, analizÄjot dažÄdu uzÅÄmumu darbu, vÄrsa uzmanÄ«bu uz jaunas āmikrolietotnesā modeļa parÄdÄ«Å”anos, kas optimizÄja SOA, lai paÄtrinÄtu pakalpojumus. Nedaudz vÄlÄk, 2012. gadÄ, arhitektÅ«ras samitÄ modelis tika pÄrdÄvÄts par mikropakalpojumu. TÄdÄjÄdi sÄkotnÄjais mikropakalpojumu ievieÅ”anas mÄrÄ·is bija uzlabot bÄdÄ«gi slaveno laiks tirgoties.
Mikropakalpojumi bija uz ažiotÄžas viļÅa 2015. gadÄ. SaskaÅÄ ar dažiem pÄtÄ«jumiem neviena konference nebija pilnÄ«ga bez ziÅojuma par mikropakalpojumu tÄmu. TurklÄt dažas konferences bija veltÄ«tas tikai mikropakalpojumiem. MÅ«sdienÄs daudzi projekti sÄk izmantot Å”o arhitektÅ«ras stilu, un, ja projekts satur tonnas mantotÄ koda, tad, iespÄjams, tiek aktÄ«vi veikta migrÄcija uz mikropakalpojumiem.
Neskatoties uz visu iepriekÅ” minÄto, diezgan neliels izstrÄdÄtÄju skaits joprojÄm var definÄt jÄdzienu āmikropakalpojumsā. Bet par to parunÄsim nedaudz vÄlÄk...
Monolīts
ArhitektÅ«ras stils, kas kontrastÄ ar mikropakalpojumiem, ir monolÄ«ts (vai viss vienÄ). IespÄjams, nav jÄgas stÄstÄ«t, kas ir monolÄ«ts, tÄpÄc uzreiz uzskaitÄ«Å”u Ŕī arhitektÅ«ras stila trÅ«kumus, kas aizsÄka arhitektÅ«ras stilu tÄlÄku attÄ«stÄ«bu: izmÄri, savienojamÄ«ba, izvietoÅ”ana, mÄrogojamÄ«ba, uzticamÄ«ba un stingrÄ«ba. TÄlÄk es ierosinu apskatÄ«t katru no trÅ«kumiem atseviŔķi.
IzmÄrs
MonolÄ«ts ir ļoti liels. Un tas parasti sazinÄs ar ļoti lielu datu bÄzi. Lietojumprogramma kļūst pÄrÄk liela, lai viens izstrÄdÄtÄjs to vispÄr saprastu. Ar monolÄ«tu var labi strÄdÄt tikai tie, kuri ir pavadÄ«juÅ”i daudz laika, strÄdÄjot pie Ŕī koda, savukÄrt iesÄcÄji pavadÄ«s daudz laika, mÄÄ£inot izdomÄt monolÄ«tu, un nav garantijas, ka viÅi to izdomÄs. Parasti, strÄdÄjot ar monolÄ«tu, vienmÄr ir kÄds ānosacÄ«tsā seniors, kurÅ” vairÄk vai mazÄk labi pÄrzina monolÄ«tu un pusotra gada laikÄ sit pÄri citiem jaunajiem izstrÄdÄtÄjiem. Protams, Å”Äds nosacÄ«ts vecÄkais ir viens neveiksmes punkts, un viÅa aizieÅ”ana var izraisÄ«t monolÄ«ta nÄvi.
Savienojamība
MonolÄ«ts ir āliela dubļu bumbaā, kuras izmaiÅas var radÄ«t neparedzamas sekas. Veicot izmaiÅas vienÄ vietÄ, var sabojÄt monolÄ«tu citÄ (tas pats āsaskrÄpÄji ausi, *@ nokritaā). Tas ir saistÄ«ts ar faktu, ka monolÄ«ta komponentiem ir ļoti sarežģītas un, pats galvenais, nepÄrprotamas attiecÄ«bas.
IzvietoŔana
MonolÄ«ta izvietoÅ”ana tÄ sastÄvdaļu sarežģīto attiecÄ«bu dÄļ ir ilgs process ar savu rituÄlu. Å Äds rituÄls parasti nav pilnÄ«bÄ standartizÄts un tiek nodots "mutiski".
MÄrogojamÄ«ba
MonolÄ«tajiem moduļiem var bÅ«t pretrunÄ«gas resursu vajadzÄ«bas, tÄdÄļ ir nepiecieÅ”ams kompromiss attiecÄ«bÄ uz aparatÅ«ru. IedomÄjieties, ka jums ir monolÄ«ts, kas sastÄv no pakalpojumiem A un B. Pakalpojums A prasa cietÄ diska izmÄru, bet pakalpojums B prasa RAM. Å ajÄ gadÄ«jumÄ vai nu maŔīnai, kurÄ ir uzstÄdÄ«ts monolÄ«ts, ir jÄatbalsta abu pakalpojumu prasÄ«bas, vai arÄ« jums bÅ«s manuÄli, mÄkslÄ«gi jÄatspÄjo viens no pakalpojumiem.
VÄl viens piemÄrs (klasiskÄks): pakalpojums A ir daudz populÄrÄks nekÄ pakalpojums B, tÄpÄc vÄlaties, lai bÅ«tu 100 pakalpojumi A un 10 pakalpojumi B. Atkal ir divas iespÄjas: vai nu mÄs izvietojam 100 pilnvÄrtÄ«gus monolÄ«tus, vai arÄ« uz dažiem pÄc tam. pakalpojumi B bÅ«s jÄatspÄjo manuÄli.
Uzticamība
TÄ kÄ visi pakalpojumi atrodas kopÄ, ja monolÄ«ts krÄ«t, tad visi pakalpojumi krÄ«t uzreiz. PatiesÄ«bÄ tas var nebÅ«t tik slikti, vismaz dalÄ«tÄ sistÄmÄ nebÅ«s daļÄju kļūdu, bet, no otras puses, funkcionalitÄtes kļūdas dÄļ, kuru izmanto 0.001% lietotÄju, jÅ«s varat zaudÄt visus lietotÄjus. no jÅ«su sistÄmas.
Inerce
MonolÄ«ta izmÄra dÄļ ir grÅ«ti pÄriet uz jaunÄm tehnoloÄ£ijÄm. RezultÄtÄ Å”Ä« ļoti nosacÄ«tÄ vecÄkÄ saglabÄÅ”ana Ŕķiet atseviŔķs uzdevums. Projekta sÄkumÄ izvÄlÄtÄ tehnoloÄ£iju kaudze var kļūt par bloku, kas kavÄ produkta attÄ«stÄ«bu.
SecinÄjums
NÄkamajÄ reizÄ mÄs runÄsim par to, kÄ cilvÄki ir mÄÄ£inÄjuÅ”i atrisinÄt Ŕīs problÄmas, pÄrejot uz komponentiem un SOA.
LasÄ«t vairÄk:
Avots: www.habr.com