Għażla ta' stil arkitettoniku (parti 2)

Hello, Habr. Illum inkompli sensiela ta’ pubblikazzjonijiet li ktibt speċifikament għall-bidu ta’ fluss ġdid tal-kors. "Perit tas-Software".

Introduzzjoni

L-għażla tal-istil arkitettoniku hija waħda mid-deċiżjonijiet tekniċi fundamentali meta tinbena sistema ta 'informazzjoni. F'din is-serje ta 'artikoli, nipproponi li tanalizza l-aktar stili arkitettoniċi popolari għall-applikazzjonijiet tal-bini u nwieġeb il-mistoqsija ta' meta liema stil arkitettoniku huwa l-aktar preferibbli. Fil-proċess tal-preżentazzjoni, se nipprova nfassal katina loġika li tispjega l-iżvilupp ta 'stili arkitettoniċi minn monoliti għal mikroservizzi.

В l-aħħar darba ittrattajna l-monolith u wasal għall-konklużjoni li l-monolith għandu numru ta 'problemi: daqs, konnettività, skjerament, iskalabbiltà, affidabilità u riġidità.

Din id-darba nipproponi li nitkellem dwar il-possibbiltajiet li tiġi organizzata sistema bħala sett ta’ moduli/libreriji (arkitettura orjentata lejn il-komponenti) jew servizzi (arkitettura orjentata lejn is-servizz).

Arkitettura orjentata lejn il-komponenti

L-arkitettura orjentata lejn il-komponenti tinvolvi l-eżekuzzjoni ta 'sistema bħala sett ta' komponenti li jistgħu jintużaw kemm fil-proġetti attwali kif ukoll fil-ġejjieni. Meta tkisser sistema f'komponenti, dawn li ġejjin jitqiesu: l-użu mill-ġdid tagħhom, is-sostituzzjoni tagħhom, l-indipendenza tal-kuntest, l-estensibilità, l-inkapsulament u l-indipendenza.

B'użu xieraq ta 'komponenti, il-problema tal-"ballun kbir ta' ħmieġ" (daqs kbir + akkoppjar għoli) tiġi solvuta, u l-komponenti nfushom jistgħu jirrappreżentaw kemm unitajiet ta 'assemblaġġ (moduli, libreriji) kif ukoll unitajiet ta' skjerament (servizzi). L-unitajiet ta' skjerament mhux dejjem jiġu mmappjati mal-proċess li qed jaħdem: pereżempju, applikazzjoni tal-web u database huma skjerati flimkien.

Ħafna drabi, il-monoliti huma żviluppati bħala sett ta 'moduli. Dan l-approċċ iwassal għal żvilupp indipendenti, iżda l-problemi tal-iskala u l-iskjerament indipendenti, it-tolleranza tal-ħsarat u l-indipendenza mill-munzell ġenerali tat-teknoloġija jibqgħu. Huwa għalhekk li l-modulu huwa komponent parzjalment indipendenti.

L-akbar problema ma 'tali monolith hija li d-diviżjoni f'moduli hija purament loġika u tista' tinkiser faċilment mill-iżviluppaturi. Jista 'jidher modulu ewlieni, li gradwalment jinbidel f'miżbla taż-żibel, il-graff tad-dipendenzi bejn il-moduli jista' jikber, eċċ. Biex jiġu evitati problemi bħal dawn, l-iżvilupp għandu jitwettaq jew minn tim matur ħafna, jew taħt il-gwida ta '"perit" li huwa involut f'reviżjoni tal-kodiċi full-time u jegħleb l-idejn ta' żviluppaturi li jiksru l-istruttura loġika.

Il-monolitu "ideali" huwa sett ta 'moduli separati loġikament, li kull wieħed minnhom iħares fid-database tiegħu stess.

Arkitettura orjentata lejn is-servizz

Jekk is-sistema suppost tkun organizzata fil-forma ta 'sett ta' servizzi, allura qed nitkellmu dwar arkitettura orjentata lejn is-servizz. Il-prinċipji tagħha huma l-interoperabbiltà tal-applikazzjoni ċċentrata fuq l-utent, l-użu mill-ġdid tas-servizz tan-negozju, l-indipendenza tal-munzell tat-teknoloġija, u l-awtonomija (evoluzzjoni indipendenti, skalabbiltà u skjerament).

L-arkitettura orjentata lejn is-servizz (SOA = arkitettura orjentata lejn is-servizz) issolvi l-problemi identifikati kollha ta 'monolith: servizz wieħed biss jiġi affettwat meta sseħħ bidla, u API definita sew tappoġġja inkapsulament tajjeb tal-komponenti.

Imma mhux kollox huwa daqshekk bla xkiel: is-SOA toħloq problemi ġodda. Is-sejħiet mill-bogħod jiswew aktar minn dawk lokali, u t-tqassim mill-ġdid tar-responsabbiltajiet bejn il-komponenti sar ħafna aktar għali.

Mill-mod, il-possibbiltà ta 'skjerament indipendenti hija karatteristika importanti ħafna tas-servizz. Jekk is-servizzi jridu jiġu skjerati flimkien jew, barra minn hekk, f'ċerta sekwenza, allura s-sistema ma tistax titqies orjentata lejn is-servizz. F'dan il-każ, jitkellmu dwar monolith distribwit (meqjus bħala anti-mudell mhux biss mil-lat ta 'SOA, iżda wkoll mill-aspett tal-arkitettura tal-mikroservizz).

L-arkitettura orjentata lejn is-servizz hija appoġġjata tajjeb mill-komunità arkitettonika u l-bejjiegħa. Dan jimplika l-preżenza ta 'ħafna korsijiet u ċertifikazzjonijiet, mudelli żviluppati tajjeb. Din tal-aħħar tinkludi, pereżempju, ix-xarabank tas-servizz tal-intrapriża magħrufa (ESB = bus service tal-intrapriża). Fl-istess ħin, ESB huwa bagalji minn bejjiegħa; mhux bilfors irid jintuża fis-SOA.

Il-popolarità tal-arkitettura orjentata lejn is-servizz laħqet il-quċċata madwar l-2008, u wara bdiet tonqos, li saret b'mod sinifikanti aktar drammatika wara l-miġja tal-mikroservizzi (~2015).

Konklużjoni

Wara li ddiskutejna l-possibbiltajiet li norganizzaw sistemi ta 'informazzjoni fil-forma ta' servizzi u moduli, nipproponi li finalment nimxu fuq il-prinċipji tal-arkitettura tal-mikroservizz u nagħtu attenzjoni speċjali għad-differenza bejn l-arkitettura tal-mikroservizz u l-arkitettura orjentata lejn is-servizz fil-parti li jmiss.

Għażla ta' stil arkitettoniku (parti 2)

Sors: www.habr.com

Żid kumment