Ukukhetha isitayile soyilo (icandelo 2)

Molo, Habr. Namhlanje ndiqhubeka nothotho lweempapasho endizibhalileyo ngokukodwa ukuqala komlambo omtsha wekhosi. "Umyili weSoftware".

Intshayelelo

Ukhetho lwesitayile soyilo sesinye sezigqibo zobugcisa ezisisiseko xa kusakhiwa inkqubo yolwazi. Kolu ngcelele lwamanqaku, ndicebisa ukuba ndihlalutye ezona ntlobo zezakhiwo zidumileyo zezicelo zokwakha kwaye uphendule umbuzo wokuba sesiphi isimbo soyilo esithandwa kakhulu. Kwinkqubo yokubonisa, ndiya kuzama ukuzoba ikhonkco elinengqiqo elichaza ukuphuhliswa kweendlela zokwakha ukusuka kwi-monoliths ukuya kwii-microservices.

Π’ kwilixa elidlulile sasijongene ne-monolith kwaye safikelela kwisigqibo sokuba i-monolith ineengxaki ezininzi: ubungakanani, ukudibanisa, ukuthunyelwa, ukulinganisa, ukuthembeka kunye nokuqina.

Ngeli xesha ndiphakamisa ukuthetha malunga namathuba okulungelelanisa inkqubo njengeseti yeemodyuli / iilayibrari (i-architecture ejoliswe kwicandelo) okanye iinkonzo (i-architecture ejoliswe kwinkonzo).

Uyilo olujolise kwicandelo

Uyilo olujolise kumacandelo lubandakanya ukuphumeza inkqubo njengeseti yamacandelo anokusetyenziswa kuzo zombini iiprojekthi zangoku nezexesha elizayo. Xa udiliza inkqubo ibe ngamacandelo, oku kulandelayo kuthathelwa ingqalelo: ukusetyenziswa kwazo kwakhona, ukutshintshwa kwazo, ukuzimela komxholo, ukwandiswa, ukufakwa kwe-encapsulation kunye nokuzimela.

Ngokusetyenziswa ngokufanelekileyo kwamacandelo, ingxaki ye "ibhola enkulu yokungcola" (ubukhulu obukhulu + ukudibanisa okuphezulu) ixazululwe, kwaye amacandelo ngokwawo anokuba yiiyunithi zombini (iimodyuli, iilayibrari) kunye neeyunithi zokuthunyelwa (iinkonzo). Iiyunithi zokusasazwa azisoloko zifakwe kwimephu kwinkqubo yokuqhuba: umzekelo, isicelo sewebhu kunye nedathabheyisi zibekwe kunye.

Ngokuqhelekileyo, i-monoliths iphuhliswa njengeseti yeemodyuli. Le ndlela ikhokelela ekuphuhlisweni okuzimeleyo, kodwa iingxaki zokulinganiswa okuzimeleyo kunye nokuthunyelwa, ukunyamezela impazamo kunye nokuzimela kwi-stack yeteknoloji jikelele zihlala. Yiyo loo nto imodyuli ilicandelo elizimeleyo ngokuyinxenye.

Ingxaki enkulu nge-monolith enjalo kukuba ulwahlulo kwiimodyuli lunengqiqo kwaye lunokwaphulwa lula ngabaphuhlisi. Imodyuli engundoqo inokuvela, ngokuthe ngcembe ijika ibe yindawo yokulahla inkunkuma, igrafu yokuxhomekeka phakathi kweemodyuli ingakhula, njalo njalo. Ukuze ugweme iingxaki ezinjalo, uphuhliso kufuneka luqhutywe mhlawumbi liqela elikhulile kakhulu, okanye phantsi kwesikhokelo "somyili wezakhiwo" ojongene nokuhlaziywa kwekhowudi yexesha elizeleyo kwaye ubetha izandla zabaphuhlisi abaphula isakhiwo esinengqiqo.

I-monolith "efanelekileyo" yiseti yeemodyuli ezahlulwe ngokwengqiqo, nganye kuzo ijonge kwisiseko sayo sedatha.

Uyilo olujolise kwinkonzo

Ukuba inkqubo ifanele ukuba ihlelwe ngendlela yeeseti zeenkonzo, ngoko sithetha malunga nenkonzo yokwakhiwa kwenkonzo. Imithetho-siseko yayo kukusebenzisana kwesicelo se-user-centric, ukusetyenziswa kwenkonzo yeshishini, ukuzimela kwetekhnoloji, kunye nokuzimela (ukuziphendukela kwemvelo okuzimeleyo, i-scalability, kunye nokuthunyelwa).

I-architecture ejoliswe kwinkonzo (i-SOA = i-architecture ejoliswe kwinkonzo) isombulula zonke iingxaki ezichongiweyo ze-monolith: inkonzo enye kuphela echaphazelekayo xa utshintsho lwenzeka, kwaye i-API echazwe kakuhle isekela i-encapsulation efanelekileyo yamacandelo.

Kodwa ayizizo zonke izinto ezigudileyo: I-SOA idala iingxaki ezintsha. Iminxeba ekude ibiza kakhulu kuneyasekhaya, kwaye ukwabiwa kwakhona koxanduva phakathi kwamacandelo kuye kwabiza kakhulu.

Ngendlela, ithuba lokuthunyelwa ngokuzimeleyo liyinto ebaluleke kakhulu yenkonzo. Ukuba iinkonzo kufuneka zihanjiswe kunye okanye, ngaphezu koko, ngokulandelelana okuthile, ngoko ke inkqubo ayinakuqwalaselwa njenge-service-orientation. Kule meko, bathetha nge-monolith esasazwayo (ithathwa njenge-anti-pattern kungekhona nje kwimbono ye-SOA, kodwa nakwimbono ye-microservice architecture).

I-architecture ejoliswe kwinkonzo ixhaswa kakuhle luluntu lwezakhiwo kunye nabathengisi. Oku kuthetha ubukho bezifundo ezininzi kunye neziqinisekiso, iipateni eziphuhliswe kakuhle. Le yokugqibela ibandakanya, umzekelo, ibhasi yenkonzo yeshishini eyaziwayo (ESB = ibhasi yenkonzo yeshishini). Ngexesha elifanayo, i-ESB imithwalo evela kubathengisi akufuneki ukuba isetyenziswe kwi-SOA.

Ukuthandwa kolwakhiwo olusekwe kwinkonzo kwafikelela incopho malunga ne-2008, emva koko yaqala ukuhla, eyaye yaphawuleka kakhulu emva kokufika kwee-microservices (~ 2015).

isiphelo

Emva kokuba sixoxe ngamathuba okulungelelanisa iinkqubo zolwazi ngendlela yeenkonzo kunye neemodyuli, ndiphakamisa ukuba ekugqibeleni ndiqhubele phambili kwimigaqo ye-microservice architecture kwaye sinikele ingqalelo ekhethekileyo kumahluko phakathi kwe-architecture ye-microservice kunye ne-architecture ejoliswe kwinkonzo kwicandelo elilandelayo.

Ukukhetha isitayile soyilo (icandelo 2)

umthombo: www.habr.com

Yongeza izimvo