Ukukhetha isitayela sezakhiwo (ingxenye 1)

Sawubona, habr. Ukubhalisela ukusakaza okusha kwesifundo kuvuliwe khona manje e-OTUS "I-Software Architect". Ngosuku olwandulela ukuqala kwesifundo, ngifuna ukwabelana nawe ngesihloko sami sokuqala.

Isingeniso

Ukukhethwa kwesitayela sezakhiwo kungenye yezinqumo eziyisisekelo zobuchwepheshe lapho kwakhiwa uhlelo lolwazi. Kulolu chungechunge lwama-athikili, ngiphakamisa ukuhlaziya izitayela zezakhiwo ezidume kakhulu zezinhlelo zokusebenza zokwakha futhi ngiphendule umbuzo wokuthi yisiphi isitayela sezakhiwo esithandeka kakhulu. Enkambweni yokwethula, ngizozama ukudweba uchungechunge olunengqondo oluchaza ukuthuthukiswa kwezitayela zezakhiwo kusuka ku-monoliths kuya kuma-microservices.

Umlando omncane

Uma uzama ukubuza abathuthukisi: "Kungani sidinga ama-microservices?", Uzothola izimpendulo ezihlukahlukene. Uzozwa ukuthi ama-microservices athuthukisa ukukala, enze ikhodi iqondeke kalula, athuthukise ukubekezelela amaphutha, futhi ngezinye izikhathi uzozwa ukuthi akuvumela ukuthi "uhlanze ikhodi yakho." Ake sibheke umlando ukuze siqonde inhloso ngemuva kokuvela kwama-microservices.

Ngamafuphi, ama-microservices ekuqondeni kwethu kwamanje avele kanje: ngo-2011, uJames Lewis, ehlaziya umsebenzi wezinkampani ezihlukahlukene, wadonsela ukunaka ekuveleni kwephethini entsha "ye-micro-app", eyathuthukisa i-SOA mayelana nokusheshisa ukuthunyelwa amasevisi. Kamuva, ngo-2012, engqungqutheleni yezokwakha, iphethini yaqanjwa kabusha ngokuthi i-microservice. Ngakho-ke, umgomo wokuqala wokwethula ama-microservices kwakuwukuthuthukisa owaziwayo isikhathi sokumaketha.

Ama-Microservices abekwi-hype wave ngo-2015. Ngokwezinye izifundo, ayikho neyodwa ingqungquthela eyaqedwa ngaphandle kombiko ngesihloko sama-microservices. Ngaphezu kwalokho, ezinye izingqungquthela bezinikezelwe kuphela kuma-microservices. Namuhla, amaphrojekthi amaningi aqala ukusebenzisa lesi sitayela sokwakha, futhi uma iphrojekthi iqukethe amathani ekhodi yefa, khona-ke ukuthuthela kuma-microservices cishe kwenziwa ngenkuthalo.

Naphezu kwakho konke lokhu okungenhla, inani elincane lonjiniyela lisengakwazi ukuchaza umqondo we "microservice". Kodwa sizokhuluma ngalokhu kamuva...

I-Monolith

Isitayela sezakhiwo esiqhathanisa ama-microservices yi-monolith (noma yonke-in-one). Cishe akunangqondo ukutshela ukuthi i-monolith iyini, ngakho-ke ngizobhala ngokushesha izinkinga zalesi sitayela sezakhiwo, esaqala ukuthuthukiswa okuqhubekayo kwezitayela zezakhiwo: usayizi, ukuxhumeka, ukuthunyelwa, ukulinganisa, ukwethembeka kanye nokuqina. Ngezansi ngiphakamisa ukubheka ukushiyeka ngakunye ngokwehlukana.

usayizi

I-monolith inkulu kakhulu. Futhi ngokuvamile ixhumana ne-database enkulu kakhulu. Uhlelo lokusebenza luba lukhulu kakhulu ukuthi unjiniyela oyedwa angaluqonda nhlobo. Yilabo kuphela abaye bachitha isikhathi esiningi besebenza kule khodi bangasebenza kahle nge-monolith, kuyilapho abaqalayo bezochitha isikhathi esiningi bezama ukuthola i-monolith futhi asikho isiqinisekiso sokuthi bazoyithola. Ngokuvamile, lapho usebenza nge-monolith, kuhlale kukhona umuntu omdala "onemibandela" owazi kahle i-monolith futhi eshaya izandla zabanye abathuthukisi abasha phakathi nonyaka nesigamu. Ngokwemvelo, isikhulu esinemibandela esinjalo siyiphuzu elilodwa lokwehluleka, futhi ukuhamba kwakhe kungaholela ekufeni kwe-monolith.

Ukuxhumana

I-monolith "ibhola elikhulu lodaka", izinguquko ezingaholela emiphumeleni engalindelekile. Ngokwenza izinguquko endaweni eyodwa, ungalimaza i-monolith kwenye (okufanayo “unwaye indlebe yakho, *@ yawa”). Lokhu kungenxa yokuthi izingxenye ze-monolith ziyinkimbinkimbi kakhulu futhi, okubaluleke kakhulu, ubudlelwane obungabonakali.

Ukuthunyelwa

Ukukhipha i-monolith, ngenxa yobudlelwane obuyinkimbinkimbi phakathi kwezingxenye zayo, kuyinqubo ende enomkhuba wayo. Isiko elinjalo ngokuvamile alivunyelwa ngokuphelele futhi lidluliselwa “ngomlomo.”

I-Scalability

Amamojula e-Monolith angase abe nezidingo zensiza ezingqubuzanayo, ezidinga ukuyekethisa okufanele kwenziwe ngokuya ngehadiwe. Cabanga ukuthi une-monolith ehlanganisa amasevisi A kanye no-B. Isevisi A edingekayo ngosayizi we-hard drive, futhi isevisi engu-B iyafuneka ku-RAM. Kulokhu, noma umshini lapho i-monolith efakwe khona kufanele isekele izidingo zazo zombili lezi zinsizakalo, noma kuzodingeka wenze ngesandla, ukhubaze enye yezinkonzo.

Esinye isibonelo (esijwayelekile kakhulu): isevisi A idume kakhulu kunesevisi engu-B, ngakho ufuna kube nezinkonzo eziyi-100 A, nezinsizakalo eziyi-10 B. Futhi, izinketho ezimbili: noma sisebenzisa ama-monoliths ayi-100 agcwele, noma kwezinye ngaleso sikhathi. amasevisi B kuzodingeka akhutshazwe mathupha.

Ukuthembeka

Njengoba zonke izinsizakalo zihlangene, uma i-monolith iwa, khona-ke zonke izinsizakalo ziwa ngesikhathi esisodwa. Eqinisweni, lokhu kungase kungabi kubi kangako, okungenani ngeke kube khona ukwehluleka okuyingxenye ohlelweni olusabalalisiwe, kodwa ngakolunye uhlangothi, ngenxa yesiphazamisi ekusebenzeni okusetshenziswa abasebenzisi abangu-0.001%, ungalahlekelwa yibo bonke abasebenzisi. yesistimu yakho.

Inertia

Ngenxa yobukhulu be-monolith, kunzima ukushintshela kubuchwepheshe obusha. Ngenxa yalokho, ukugcina lowo mdala onemibandela kakhulu kubonakala kuwumsebenzi ohlukile. Isitaki sobuchwepheshe esikhethwe ekuqaleni kwephrojekthi singaba ibhulokhi evimbela ukuthuthukiswa komkhiqizo.

isiphetho

Ngokuzayo sizokhuluma ngokuthi abantu bazame kanjani ukuxazulula lezi zinkinga ngokuthuthela ezingxenyeni kanye ne-SOA.

Ukukhetha isitayela sezakhiwo (ingxenye 1)

Funda kabanzi:

Source: www.habr.com

Engeza amazwana