Hilbijartina şêwaza mîmarî (beş 2)

Silav Habr. Îro ez rêze weşanên ku min bi taybetî ji bo destpêkirina qursek nû nivîsî didomînim. "Mîmarê Nermalavê".

Pîrozbahiyê

Hilbijartina şêwaza mîmarî yek ji biryarên teknîkî yên bingehîn e dema avakirina pergalek agahdariyê. Di vê rêze gotaran de, ez pêşniyar dikim ku şêwazên mîmarî yên herî populer ên ji bo serîlêdanên avahîsaziyê analîz bikim û bersiva pirsê bidim ka kîjan şêwaza mîmarî ya herî bijarte kengê ye. Di pêvajoya pêşkêşkirinê de, ez ê hewl bidim ku zincîrek mentiqî bikişînim ku pêşkeftina şêwazên mîmarî ji monolîtan heya mîkroservisan rave dike.

В cara dawî me bi monolîtê re mijûl kir û gihîşt wê encamê ku monolît xwedan çend pirsgirêkan e: mezinahî, girêdan, veqetandin, mezinbûn, pêbawerî û hişkî.

Vê carê ez pêşniyar dikim ku ez li ser îmkanên birêxistinkirina pergalek wekî komek modul/pirtûkxane (mîmariya pêkhatî-oriented) an karûbaran (mîmariya servekirî) biaxivim.

Mîmariya-Pêkûpêk

Mîmariya pêkhatî-oriented pêkanîna pergalek wekî komek pêkhateyan pêk tîne ku hem di projeyên heyî û hem jî di pêşerojê de dikare were bikar anîn. Dema ku pergalek li pêkhateyan vediqetîne, ev tişt têne hesibandin: ji nû vebikaranîna wan, veguheztina wan, serxwebûna çarçovê, berfirehbûn, vegirtin û serxwebûn.

Bi karanîna rast a pêkhateyan, pirsgirêka "gopa mezin a qirêj" (mezinahiya mezin + hevgirêdanek bilind) çareser dibe, û pêkhate bixwe dikarin hem yekîneyên meclîsê (modul, pirtûkxane) û hem jî yekîneyên bicîhkirinê (karûbar) bin. Yekîneyên bicîhkirinê her gav bi pêvajoya xebitandinê re nayên nexşandin: mînakî, serîlêdanek webê û databasek bi hev re têne bicîh kirin.

Bi gelemperî, monolît wekî komek modul têne pêşve xistin. Ev nêzîkatî rê li pêşkeftina serbixwe vedike, lê pirsgirêkên pîvandin û bicîhkirina serbixwe, tolerasyona xeletiyê û serbixwebûna ji stûna teknolojiyê ya giştî dimîne. Ji ber vê yekê modul beşek serbixwe ye.

Pirsgirêka herî mezin a yekalîtek wusa ev e ku dabeşkirina modulan bi tevahî mentiqî ye û dikare ji hêla pêşdebiran ve bi hêsanî were binpêkirin. Dibe ku modulek bingehîn xuya bibe, ku hêdî hêdî vediguhere çopek çopê, dibe ku grafika girêdayîbûna di navbera modulan de mezin bibe, û hwd. Ji bo ku ji pirsgirêkên weha dûr nekevin, pêdivî ye ku pêşkeftin an ji hêla tîmek pir gihîştî ve, an jî di bin rêberiya "mîmarek" de ku bi vekolîna kodê ya tam-dem ve mijûl e û destên pêşdebiran ên ku strukturên mentiqî binpê dikin, lêdixe.

Yekdestiya "îdeal" komek modulên bi mentiqî veqetandî ye, ku her yek li databasa xwe dinêre.

Mîmariya-xizmetkar

Ger tê xwestin ku pergal di forma komek karûbaran de were organîze kirin, wê hingê em behsa mîmariyek xizmet-oriented dikin. Prensîbên wê hevberdana serîlêdana bikarhêner-navendî, ji nû ve karanîna karûbarê karsaziyê, serxwebûna stacka teknolojiyê, û xweserî (pêşveçûna serbixwe, mezinbûn, û bicîhkirin) ne.

Mîmariya karûbar-oriented (SOA = mîmariya karûbar) hemî pirsgirêkên naskirî yên monolîtek çareser dike: dema ku guhertinek çêbibe tenê karûbarek bandor dibe, û API-ya baş-rêvebir piştgirî dide berhevkirina baş a pêkhateyan.

Lê ne her tişt ew qas hêsan e: SOA pirsgirêkên nû diafirîne. Bangên ji dûr ve ji yên herêmî bihatir in, û dabeşkirina berpirsiyariyan di navbera pêkhateyan de pir bihatir bûye.

Bi awayê, îmkana belavkirina serbixwe taybetmendiyek pir girîng a karûbarê ye. Ger pêdivî ye ku karûbar bi hev re an jî, ji bilî vê, di rêzek diyar de bêne bicîh kirin, wê hingê pergal nikare wekî karûbarê-oriented were hesibandin. Di vê rewşê de, ew li ser monolîtek belavkirî diaxivin (ne tenê ji nihêrîna SOA, lê di heman demê de ji hêla mîmariya mîkro-xizmetê ve jî antî-pattern tê hesibandin).

Mîmariya karûbar ji hêla civata mîmarî û firoşkaran ve baş tê piştgirî kirin. Ev tê wateya hebûna gelek qurs û sertîfîkayan, qalibên baş-pêşkeftî. Ya paşîn, mînakî, otobusa karûbarê pargîdanî ya navdar (ESB = otobusa karûbarê pargîdanî) vedigire. Di heman demê de, ESB bagajek ji firoşkaran e; ne hewce ye ku ew di SOA de were bikar anîn.

Popularîteya mîmariya karûbarê-xizmetkar li dora 2008-an gihîştiye lûtkeyê, piştî ku ew dest bi kêmbûnê kir, ku piştî hatina mîkroservisan (~ 2015) pir dramatîktir bû.

encamê

Piştî ku me li ser îmkanên birêxistinkirina pergalên agahdariyê di forma karûbar û modulan de nîqaş kir, ez pêşniyar dikim ku di dawiyê de derbasî prensîbên mîmariya mîkroxizmetê bibin û di beşa paşîn de girîngiyek taybetî bidin cûdahiya di navbera mîmariya mîkro-xizmetê û mîmariya karûbar-oriented.

Hilbijartina şêwaza mîmarî (beş 2)

Source: www.habr.com

Add a comment