I-Microservices - ukuqhuma okuhlanganisiwe kwezinguqulo

Sawubona, Habr! Ngethula ekunakeni kwenu ukuhunyushwa kombhali kwesihloko I-Microservices - Ukuqhuma Okuhlanganisiwe Kwezinguqulo.
I-Microservices - ukuqhuma okuhlanganisiwe kwezinguqulo
Esikhathini lapho umhlaba we-IT uya kancane kancane ubheke kuma-microservices namathuluzi afana ne-Kubernetes, inkinga eyodwa kuphela ebonakala kakhulu. Le nkinga - ukuqhuma okuhlangene izinguqulo ze-microservice. Noma kunjalo, umphakathi we-IT ukholelwa ukuthi isimo samanje singcono kakhulu "Isihogo sokuxhomekeka" isizukulwane esedlule sobuchwepheshe. Kodwa-ke, ukwenza inguqulo ye-microservices kuyinkinga eyinkimbinkimbi kakhulu. Obunye ubufakazi balokhu kungaba izihloko ezifana "Ngibuyisele monolith wami".

Uma ungakayiqondi inkinga ngokufunda lombhalo, ake ngikuchazele. Ake sithi umkhiqizo wakho uqukethe ama-microservices ayi-10. Manje ake sicabange ukuthi inguqulo entsha engu-1 ikhishwe ngayinye yalezi zinsiza ezincane. Inguqulo engu-1 kuphela - ngethemba ukuthi sonke singavumelana ukuthi leli yiqiniso elincane kakhulu nelingelutho. Manje, nokho, ake siphinde sibheke umkhiqizo wethu. Ngenguqulo eyodwa nje entsha yengxenye ngayinye, manje sinezimvume ezingu-2^10 - noma ezingu-1024 zokuthi umkhiqizo wethu ungakhiwa kanjani.

Uma kusenokungaqondi, ake ngihlukanise izibalo. Ngakho-ke sinezinsizakalo ezincane eziyi-10, ngayinye ithola isibuyekezo esisodwa. Okusho ukuthi, sithola izinguqulo ezi-2 ezingaba khona ze-microservice ngayinye (ezindala noma ezintsha). Manje, engxenyeni ngayinye yomkhiqizo, singasebenzisa noma iyiphi yalezi zinguqulo ezimbili. Ngokwezibalo, kuyafana nokuthi sinenombolo kanambambili yamadijithi ayi-10. Isibonelo, ake sithi u-1 uyinguqulo entsha, futhi u-0 uyinguqulo yakudala - khona-ke imvume eyodwa engenzeka ingachazwa ngokuthi 1001000000 - lapho izingxenye 1 kanye ne-4 zibuyekezwa, futhi zonke ezinye zingabuyeli. Kusuka kwizibalo siyazi ukuthi inombolo kanambambili enezinhlamvu ezingu-10 ingaba namanani angu-2^10 noma angu-1024. Okusho ukuthi, sisiqinisekisile isikali senani esibhekene nalo.

Masiqhubeke nokucabanga kwethu - kuzokwenzekani uma sinezinsizakalo ezincane eziyi-100 futhi ngayinye inezinguqulo eziyi-10 ezingase zibe khona? Sonke isimo siba sibi impela - manje sinezimvume ezingu-10^100 - okuyinani elikhulu. Kodwa-ke, ngikhetha ukulebula lesi simo ngale ndlela, ngoba manje asisafihli ngemuva kwamagama afana ne-"kubernetes", kodwa kunalokho sibhekene nenkinga njengoba injalo.

Kungani ingithakazelisa kangaka le nkinga? Ngokwengxenye ngenxa yokuthi, njengoba sike sasebenza emhlabeni we-NLP ne-AI, saxoxa ngenkinga yokuqhuma okuhlangene kakhulu eminyakeni emi-5-6 edlule. Esikhundleni sezinguqulo kuphela sinamagama angawodwana, futhi esikhundleni semikhiqizo saba nemisho nezigaba. Futhi nakuba izinkinga ze-NLP ne-AI zisalokhu zingaxazululeki kakhulu, kufanele kuvunywe ukuthi inqubekelaphambili enkulu yenziwe eminyakeni embalwa edlule. (ngokubona kwami, inqubekelaphambili ingenziwaΠΎKungaba ngcono uma abantu embonini benganaka kancane ukufunda komshini nokunye okwengeziwe kwamanye amasu - kodwa lokhu sekuvele akukho esihlokweni).

Masibuyele emhlabeni we-DevOps nama-microservices. Sibhekene nenkinga enkulu, sizenza indlovu eKunstkamera - ngoba engivame ukukuzwa ukuthi "thatha nje i-kubernetes ne-helm, futhi konke kuzolunga!" Kodwa cha, konke ngeke kulunge uma konke kushiywa kanjalo. Ngaphezu kwalokho, isixazululo sokuhlaziya le nkinga asibonakali samukelekile ngenxa yobunzima baso. Njengaku-NLP, kufanele siqale sibhekane nale nkinga ngokunciphisa ububanzi bokuseshaβ€”kulokhu, ngokususa izimvume eziphelelwe yisikhathi.

Okunye okungasiza yinto engiyibhale ngonyaka odlule mayelana nesidingo sokugcina umehluko omncane phakathi kwezinguqulo ezithunyelwe kumakhasimende. Kubalulekile futhi ukuqaphela ukuthi inqubo ye-CI/CD eklanywe kahle isiza kakhulu ekwehliseni ukuhlukahluka. Kodwa-ke, isimo samanje se-CI/CD asilungile ngokwanele ukuxazulula inkinga yezimvume ngaphandle kwamathuluzi engeziwe wokubala kanye nezingxenye zokulandelela.

Esikudingayo isistimu yokuhlola esigabeni sokuhlanganisa, lapho singanquma khona isici sengozi engxenyeni ngayinye, futhi sibe nenqubo ezenzakalelayo yokubuyekeza izingxenye ezihlukahlukene nokuhlola ngaphandle kokungenelela komsebenzisi - ukuze sibone ukuthi yini esebenzayo nengasebenzi.

Isistimu enjalo yokuhlola ingabukeka kanje:

  1. Onjiniyela babhala izivivinyo (lesi yisigaba esibalulekile - ngoba uma kungenjalo asinawo umbandela wokuhlaziya - kufana nokulebula idatha ekufundeni komshini).
  2. Ingxenye ngayinye (iphrojekthi) ithola isistimu yayo ye-CI - le nqubo manje isithuthukiswe kahle, futhi indaba yokwakhiwa kwesistimu ye-CI yengxenye eyodwa isixazululiwe kakhulu.
  3. "Isistimu yokuhlanganisa ehlakaniphile" iqoqa imiphumela yezinhlelo ezihlukahlukene ze-CI futhi ihlanganise amaphrojekthi engxenye emkhiqizweni wokugcina, iqhube ukuhlolwa futhi ekugcineni ibale indlela emfushane yokuthola ukusebenza komkhiqizo ofunekayo ngokusekelwe ezingxenyeni ezikhona nezici zengozi. Uma isibuyekezo singenzeki, le sistimu yazisa onjiniyela mayelana nezingxenye ezikhona nokuthi iyiphi kuzo edala iphutha. Nakulokhu, isistimu yokuhlola ibaluleke kakhulu lapha - njengoba isistimu yokuhlanganisa isebenzisa izivivinyo njengemibandela yokuhlola.
  4. Isistimu ye-CD, ebese ithola idatha ku-Smart Integration System bese yenza isibuyekezo ngokuqondile. Lesi sigaba siphetha umjikelezo.

Ukufingqa, kimina enye yezinkinga ezinkulu manje ukuntula "I-Smart Integration System" enjalo engaxhumanisa izingxenye ezihlukahlukene kumkhiqizo futhi ngaleyo ndlela ikuvumele ukulandelela ukuthi umkhiqizo uwonke uhlanganiswa kanjani. Ngizoba nentshisekelo emicabangweni yomphakathi ngalokhu (spoiler - okwamanje ngisebenza kuphrojekthi Reliza, okungaba uhlelo lokuhlanganisa oluhlakaniphile).

Into yokugcina engifuna ukuyisho ukuthi, kimi, i-monolith ayamukeleki kunoma iyiphi iphrojekthi yesayizi ephakathi. Kimi, imizamo yokusheshisa isikhathi sokuqalisa kanye nekhwalithi yentuthuko ngokubuyela ku-monolith kubangela ukungabaza okukhulu. Okokuqala, i-monolith inenkinga efanayo yokuphatha izingxenye - phakathi kwemitapo yolwazi ehlukahlukene equkethe, noma kunjalo, konke lokhu akubonakali kangako futhi kubonakala ngokuyinhloko ngesikhathi esichithwa ngabathuthukisi. Umphumela wenkinga ye-monolith wukungenzeki okubonakalayo kokwenza izinguquko kukhodi - kanye nesivinini sokuthuthuka esihamba kancane kakhulu.

Ama-Microservices athuthukisa isimo, kodwa-ke i-microservice architecture ibhekana nenkinga yokuqhuma okuhlangene esigabeni sokuhlanganisa. Yebo, ngokuvamile, sisuse inkinga efanayo kusukela esigabeni sokuthuthukiswa kuya esigabeni sokuhlanganisa. Kodwa-ke, ngokubona kwami, indlela ye-microservices isaholela emiphumeleni engcono, futhi amaqembu athola imiphumela ngokushesha (mhlawumbe ikakhulukazi ngenxa yokuncipha kobukhulu beyunithi yokuthuthukisa - noma usayizi weqoqo). Kodwa-ke, ukusuka ku-monolith kuye kuma-microservices akukayithuthukisi ngokwanele inqubo - ukuqhuma okuhlanganisiwe kwezinguqulo ze-microservice kuyinkinga enkulu, futhi sinamandla amaningi okuthuthukisa isimo njengoba sisixazulula.

Source: www.habr.com

Engeza amazwana