Kusankha kalembedwe kamangidwe (gawo 2)

Pa Habr. Lero ndikupitiriza mndandanda wa zolemba zomwe ndinalemba makamaka poyambira maphunziro atsopano. "Software Architect".

Mau oyamba

Kusankha kalembedwe kamangidwe ndi chimodzi mwazosankha zaukadaulo pomanga dongosolo lazidziwitso. M'nkhani zotsatizanazi, ndikupempha kuti ndifufuze masitayelo odziwika bwino a zomangamanga zomangira ndikuyankha funso loti ndi nthawi iti yomanga yomwe imakonda kwambiri. Pofotokozera, ndiyesera kujambula unyolo womveka womwe umafotokozera za chitukuko cha zomangamanga kuchokera ku monoliths kupita ku microservices.

Π’ nthawi yotsiriza tinaganizira za monolith ndipo tinafika pozindikira kuti monolith ili ndi mavuto angapo: kukula, kugwirizanitsa, kutumizidwa, kusinthasintha, kudalirika ndi kukhazikika.

Nthawi ino ndikupempha kuti ndilankhule za kuthekera kokonzekera dongosolo ngati ma module / malaibulale (zomangamanga zamagawo) kapena ntchito (zomangamanga zoyendetsedwa ndi ntchito).

Component-Oriented Architecture

Zomangamanga zokhudzana ndi zigawo zimaphatikizapo kukhazikitsidwa kwa dongosololi monga zigawo zomwe zingagwiritsidwe ntchito pazochitika zamakono komanso zam'tsogolo. Pogawaniza dongosololo kukhala zigawo, zotsatirazi zimaganiziridwa: kuyenerera kwawo kugwiritsidwanso ntchito, kusinthika kwawo, kudziyimira pawokha, kuwonjezereka, kutsekemera ndi kudziyimira pawokha.

Pogwiritsa ntchito bwino zigawo zikuluzikulu, vuto la "chivundikiro chachikulu cha dothi" (kukula kwakukulu + kugwirizanitsa kwakukulu) kumathetsedwa, ndipo zigawozo zikhoza kukhala zigawo zonse za msonkhano (ma modules, library) ndi magawo otumizira (mautumiki). Magawo otumizira sakhala ojambulidwa nthawi zonse: mwachitsanzo, pulogalamu yapaintaneti ndi database zimayikidwa palimodzi.

Nthawi zambiri, ma monoliths amapangidwa ngati ma module. Njirayi imabweretsa ufulu wodziyimira pawokha, koma mavuto odziyimira pawokha komanso kutumizidwa, kulolerana ndi zolakwika komanso kudziyimira pawokha kuchokera kuukadaulo wamba wamba amakhalabe. Ichi ndichifukwa chake gawoli ndi gawo lodziyimira palokha.

Vuto lalikulu ndi monolith yotere ndikuti kugawanika kukhala ma modules ndikomveka bwino ndipo kumatha kusweka mosavuta ndi omanga. Ma module apakati angawoneke, omwe pang'onopang'ono amasanduka chidebe cha zinyalala, chithunzi cha kudalira pakati pa ma modules akhoza kukula, ndi zina zotero. Pofuna kupewa mavuto ngati amenewa, chitukuko chiyenera kuchitidwa ndi gulu lokhwima kwambiri, kapena motsogozedwa ndi "womanga" yemwe amachita ndondomeko ya nthawi zonse ndikumenya manja a omanga omwe amaphwanya dongosolo lomveka.

"Ideal" monolith ndi seti ya ma module olekanitsidwa mwanzeru, iliyonse yomwe imayang'ana mu database yake.

Service Oriented Architecture

Ngati, komabe, ikuyenera kulinganiza dongosololi mwa mawonekedwe a mautumiki, ndiye kuti tikukamba za zomangamanga zomwe zimagwira ntchito. Mfundo zake ndizogwirizana ndi ogwiritsa ntchito, kugwiritsanso ntchito ntchito zamabizinesi, kukhazikitsidwa kwaukadaulo, komanso kudziyimira pawokha (kusinthika kodziyimira pawokha, kuchulukira, ndi kutumiza).

Zomangamanga zautumiki (SOA = zomangamanga zoyendetsera ntchito) zimathetsa mavuto onse a monolith: ntchito imodzi yokha imakhudzidwa pamene ikusintha, ndipo API yodziwika bwino imasunga bwino encapsulation ya zigawo zikuluzikulu.

Koma si zonse zomwe zili bwino: SOA imatsogolera ku mavuto atsopano. Mafoni akutali ndi okwera mtengo kuposa am'deralo, ndipo kugawanso maudindo pakati pa zigawo kwakhala kokwera mtengo kwambiri.

Mwa njira, kuthekera kodziyimira pawokha ndikofunikira kwambiri pautumiki. Ngati mautumiki ayenera kutumizidwa palimodzi, kapena, kuonjezeranso, muzotsatira zina, ndiye kuti dongosololi silingaganizidwe ngati lothandizira. Pankhaniyi, wina amalankhula za monolith yogawidwa (imatengedwa ngati anti-pattern osati mwa SOA, komanso ndi zomangamanga za microservice).

Zomangamanga zoyendetsedwa ndi ntchito zimathandizidwa bwino ndi gulu lazomangamanga ndi ogulitsa. Izi zikutanthawuza kukhalapo kwa maphunziro ambiri ndi ma certification, machitidwe opangidwa bwino. Zomalizazi zikuphatikiza, mwachitsanzo, basi yodziwika bwino yamabizinesi (ESB = basi yamabizinesi). Panthawi imodzimodziyo, ESB ndi katundu wochokera kwa ogulitsa, sayenera kugwiritsidwa ntchito mu SOA.

Zomangamanga zoyendetsedwa ndi ntchito zidafika pachimake chodziwika bwino cha 2008, pambuyo pake zidayamba kutsika, zomwe zidakhala zakuthwa kwambiri pambuyo pakubwera kwa ma microservices (~ 2015).

Pomaliza

Titakambirana za kuthekera kokonzekera machitidwe azidziwitso mu mawonekedwe a mautumiki ndi ma module, ndikulingalira kuti potsiriza ndipite ku mfundo za zomangamanga za microservice ndikuyang'ana kwambiri kusiyana pakati pa zomangamanga za microservice ndi zomangamanga zomwe zimagwiritsidwa ntchito mu gawo lotsatira.

Kusankha kalembedwe kamangidwe (gawo 2)

Source: www.habr.com

Kuwonjezera ndemanga