Mifidy fomba maritrano (fizarana 2)

Salama, Habr. Androany aho dia manohy andian-dahatsoratra izay nosoratako manokana ho an'ny fanombohana ny onjam-pianarana vaovao. "Software Architect".

fampidirana

Ny safidy ny fomba maritrano dia iray amin'ireo fanapahan-kevitra ara-teknika fototra rehefa manangana rafitra fampahalalana. Ao anatin'ity andian-dahatsoratra ity dia manolotra soso-kevitra aho ny hamakafaka ireo fomba ara-javakanto malaza indrindra amin'ny fananganana fampiharana ary mamaly ny fanontaniana hoe rahoviana ny fomba maritrano no tena tiana. Ao anatin'ny dingan'ny famelabelarana dia hiezaka aho ny hanao tsipika lojika izay manazava ny fivoaran'ny fomba maritrano avy amin'ny monoliths mankany microservices.

Π’ tamin'ny fotoana farany Niatrika ny monolith izahay ary tonga tamin'ny fanatsoahan-kevitra fa ny monolith dia manana olana maromaro: ny habeny, ny fifandraisana, ny fametrahana, ny scalability, ny fahatokisana ary ny henjana.

Amin'ity indray mitoraka ity dia manolo-kevitra ny hiresaka momba ny mety hisian'ny fandaminana rafitra iray aho amin'ny alΓ lan'ny mody / trano famakiam-boky (architecture miompana amin'ny singa) na serivisy (architecture miompana amin'ny serivisy).

Architecture miompana amin'ny singa

Ny maritrano miompana amin'ny singa dia ahitana ny fanatanterahana rafitra iray ho fitambarana singa azo ampiasaina amin'ny tetikasa ankehitriny sy ho avy. Rehefa manapaka ny rafitra iray ho singa dia ireto manaraka ireto no raisina: azo ampiasaina indray, azo soloina, fahaleovantena amin'ny contexte, extensibility, encapsulation ary fahaleovantena.

Miaraka amin'ny fampiasana araka ny tokony ho izy ny singa dia voavaha ny olan'ny "baolina lehibe amin'ny loto" (lehibe + avo lenta), ary ny singa dia mety ho vondrona fivoriambe (modules, tranomboky) ary vondrona fandefasana (serivisy). Tsy voasariky ny sarintany amin'ny fizotry ny fandehanana foana ny tarika deployment: ohatra, apetraka miaraka ny rindranasa an-tranonkala sy angon-drakitra.

Matetika indrindra, ny monoliths dia novolavolaina ho andiana modules. Ity fomba fiasa ity dia mitarika amin'ny fampandrosoana mahaleo tena, fa ny olana amin'ny fampitomboana sy ny fametrahana tsy miankina, ny fandeferana ny fahadisoana ary ny fahaleovan-tena amin'ny fitambaran'ny teknolojia amin'ny ankapobeny dia mijanona. Izany no mahatonga ny module ho singa tsy miankina amin'ny ampahany.

Ny olana lehibe indrindra amin'ny monolith toy izany dia ny fizarazarana amin'ny modules dia lojika fotsiny ary mety ho voahitsakitsaka mora foana ny developer. Mety hipoitra ny maody fototra iray, izay mivadika tsikelikely ho fanariam-pako, mety hitombo ny sarin'ny fiankinan-doha eo amin'ny mody, sy ny sisa. Mba hialana amin'ny olana toy izany, ny fampandrosoana dia tokony hatao amin'ny ekipa tena matotra, na eo ambany fitarihan'ny "architect" izay mirotsaka amin'ny famerenana fehezan-dalΓ na manontolo andro ary mikapoka ny tanan'ireo mpamorona izay mandika ny rafitra lojika.

Ny monolith "idealy" dia andiana maodely misaraka ara-lojika, izay samy mijery ny angon-drakitra manokana.

Architecture miompana amin'ny serivisy

Raha toa ka tokony halamina amin'ny endriky ny serivisy ny rafitra, dia miresaka momba ny maritrano miompana amin'ny serivisy isika. Ny foto-keviny dia ny interoperability fampiharana mifototra amin'ny mpampiasa, ny fampiasana indray ny serivisy momba ny raharaham-barotra, ny fahaleovan-tena amin'ny teknolojia, ary ny fahaleovan-tena (evolisiona mahaleo tena, scalability ary fametrahana).

Ny maritrano miompana amin'ny serivisy (SOA = maritrano miompana amin'ny serivisy) dia mamaha ny olana rehetra fantatra amin'ny monolith: serivisy iray ihany no voakasika rehefa misy fiovana, ary ny API voafaritra tsara dia manohana ny encapsulation tsara ny singa.

Saingy tsy ny zava-drehetra dia malama: miteraka olana vaovao ny SOA. Lafo kokoa noho ny an-toerana ny antso an-tariby, ary lasa lafo kokoa ny fizarana andraikitra eo amin'ny singa.

Raha ny marina, ny mety hisian'ny fametrahana tsy miankina dia singa manan-danja amin'ny serivisy. Raha tsy maintsy apetraka miaraka ny serivisy na, ankoatra izany, amin'ny filaharana iray, dia tsy azo raisina ho miompana amin'ny serivisy ilay rafitra. Amin'ity tranga ity, dia miresaka momba ny nizara monolith (noheverina ho anti-pattern tsy avy amin'ny fomba fijery SOA, fa koa amin'ny fomba fijery ny microservice maritrano).

Ny maritrano miompana amin'ny serivisy dia tohanan'ny vondrom-piarahamonin'ny maritrano sy ny mpivarotra. Midika izany ny fisian'ny taranja sy fanamarinana maro, lamina voavoatra tsara. Ity farany dia ahitana, ohatra, ny fiara fitaterana orinasa malaza (ESB = bus service enterprise). Mandritra izany fotoana izany, ESB dia entam-barotra avy amin'ny mpivarotra; tsy voatery ho ampiasaina amin'ny SOA izany.

Ny lazan'ny maritrano miompana amin'ny serivisy dia nitombo teo amin'ny 2008, taorian'izay dia nanomboka nihena izany, izay nanjary nanaitra kokoa taorian'ny fahatongavan'ny microservices (~ 2015).

famaranana

Rehefa avy nifanakalo hevitra momba ny mety hisian'ny fandaminana ny rafitra fampahalalam-baovao amin'ny endrika serivisy sy maody aho, dia manolo-kevitra ny hifindra amin'ny farany amin'ny fitsipiky ny maritrano microservice aho ary handinika manokana ny fahasamihafana misy eo amin'ny maritrano microservice sy ny maritrano miompana amin'ny serivisy amin'ny ampahany manaraka.

Mifidy fomba maritrano (fizarana 2)

Source: www.habr.com

Add a comment