I-Dichotomy yedatha: ukucabanga kabusha ubudlelwano phakathi kwedatha namasevisi

Sanibonani nonke! Sinezindaba ezinhle, i-OTUS iphinda yethula isifundo ngoJuni "I-Software Architect", mayelana nalokho ngokwesiko sabelana nawe ngezinto eziwusizo.

I-Dichotomy yedatha: ukucabanga kabusha ubudlelwano phakathi kwedatha namasevisi

Uma uhlangabezane nayo yonke le nto ye-microservices ngaphandle kwanoma yimuphi umongo, uzoxolelwa ngokucabanga ukuthi kuyamangaza. Ukuhlukanisa uhlelo lokusebenza zibe izingcezu ezixhunywe inethiwekhi kusho ukungeza izindlela eziyinkimbinkimbi zokubekezelela amaphutha ohlelweni olusabalalisiwe oluwumphumela.

Nakuba le ndlela ihilela ukuyihlukanisa ibe yizinsizakalo eziningi ezizimele, umgomo wokugcina ungaphezu nje kokuba lezo zinsizakalo zisebenze emishinini ehlukene. Lapha sikhuluma ngokusebenzisana nezwe langaphandle, nalo elisatshalaliswa ngokubaluleka kwalo. Hhayi ngomqondo wezobuchwepheshe, kodwa ngomqondo we-ecosystem equkethe abantu abaningi, amaqembu, izinhlelo, futhi ngayinye yalezi zingxenye idinga ukwenza umsebenzi wayo.

Izinkampani, isibonelo, ziyiqoqo lezinhlelo ezisabalalisiwe ezifaka isandla ekufinyeleleni umgomo othile. Siye saliziba leli qiniso amashumi eminyaka, sizama ukuzuza ukuhlanganiswa ngamafayela e-FTPing noma sisebenzisa amathuluzi okuhlanganiswa kwebhizinisi kuyilapho sigxile emigomweni yethu ehlukene. Kodwa ngokufika kwezinkonzo, konke kwashintsha. Izinsizakalo zisisizile ukuthi sibheke ngale komkhathizwe futhi sibone umhlaba wezinhlelo ezincikene ezisebenza ndawonye. Kodwa-ke, ukuze usebenze ngempumelelo, kuyadingeka ukuqaphela nokuklama imihlaba emibili ehluke kakhulu: umhlaba wangaphandle, lapho siphila khona endaweni yemvelo yezinye izinkonzo eziningi, kanye nomhlaba wethu siqu, wangaphakathi, lapho sibusa sodwa.

I-Dichotomy yedatha: ukucabanga kabusha ubudlelwano phakathi kwedatha namasevisi

Leli zwe elisakazwayo lihlukile kulelo esakhulela kulo nesilijwayele. Izimiso zokwakha izakhiwo zendabuko ze-monolithic azimelani nokugxekwa. Ngakho ukuthola lezi zinhlelo zilungile kungaphezu kokwenza umdwebo opholile webhodi elimhlophe noma ubufakazi obupholile bomqondo. Iphuzu liwukuqinisekisa ukuthi uhlelo olunjalo lusebenza ngempumelelo esikhathini eside. Ngenhlanhla, izinsiza sezinesikhathi eside zikhona, nakuba zibukeka zihlukile. Izifundo ze-SOA zisabalulekile, ngisho nezinongo nge-Docker, i-Kubernetes kanye nezintshebe ze-hipster ezihlakazekile.

Ngakho-ke namuhla sizobheka ukuthi imithetho ishintshe kanjani, kungani kudingeka sicabange kabusha indlela esibhekana ngayo nezinsizakalo kanye nedatha eyidlulisela komunye nomunye, nokuthi kungani sizodinga amathuluzi ahluke ngokuphelele ukuze sikwenze.

I-Ecapsulation ngeke ihlale ingumngane wakho

Ama-Microservices angasebenza ngokuzimela komunye nomunye. Yilesi sakhiwo esibanika inani elikhulu kakhulu. Lesi sakhiwo esifanayo sivumela izinsizakalo ukuthi zikhule futhi zikhule. Hhayi kangako ngomqondo wokukhushulelwa kuma-quadrillions wabasebenzisi noma ama-petabyte edatha (yize lezo zingasiza nalapho), kodwa ngomqondo wokukalwa ngokwabantu njengoba amaqembu nezinhlangano zikhula ngokuqhubekayo.

I-Dichotomy yedatha: ukucabanga kabusha ubudlelwano phakathi kwedatha namasevisi

Nokho, ukuzimela kuyinkemba esika nhlangothi zombili. Okusho ukuthi, isevisi ngokwayo ingasebenza kalula futhi ngokwemvelo. Kodwa uma umsebenzi wenziwa ngaphakathi kwesevisi edinga ukusebenzisa enye isevisi, lapho-ke sigcina sekufanele senze izinguquko kuzo zombili izinsiza cishe ngesikhathi esisodwa. Ku-monolith lokhu kulula ukukwenza, uvele wenze ushintsho futhi uluthumele ukuze ukhulule, kodwa esimweni sokuvumelanisa izinsizakalo ezizimele kuzoba nezinkinga eziningi. Ukuxhumana phakathi kwamaqembu nemijikelezo yokukhishwa kulimaza ukusebenza kahle.

I-Dichotomy yedatha: ukucabanga kabusha ubudlelwano phakathi kwedatha namasevisi

Njengengxenye yendlela evamile, bamane bazame ukugwema izinguquko ezicasulayo zokuphela-to-ekupheleni, ezihlukanisa ngokucacile ukusebenza phakathi kwezinsizakalo. Isevisi yokungena ngemvume eyodwa ingaba isibonelo esihle lapha. Inendima echazwe ngokucacile ehlukanisayo kwezinye izinkonzo. Lokhu kuhlukaniswa okucacile kusho ukuthi emhlabeni wezidingo ezishintsha ngokushesha kumasevisi azungezile, isevisi yokungena ngemvume eyodwa cishe ayinakwenzeka ukushintsha. Itholakala ngaphakathi komongo olinganiselwe.

I-Dichotomy yedatha: ukucabanga kabusha ubudlelwano phakathi kwedatha namasevisi

Inkinga iwukuthi emhlabeni wangempela, izinsizakalo zebhizinisi azikwazi ukugcina ukuhlukaniswa okuhlanzekile okufanayo kwezindima ngaso sonke isikhathi. Isibonelo, amasevisi ebhizinisi afanayo asebenza kakhulu ngedatha evela kwamanye amasevisi afanayo. Uma ubandakanyeka ekudayiseni okuku-inthanethi, khona-ke ukugeleza kwe-oda lokucubungula, ikhathalogi yomkhiqizo noma ulwazi lomsebenzisi kuzoba yimfuneko kumasevisi akho amaningi. Isevisi ngayinye izodinga ukufinyelela kule datha ukuze isebenze.

I-Dichotomy yedatha: ukucabanga kabusha ubudlelwano phakathi kwedatha namasevisi
Izinsizakalo eziningi zebhizinisi zabelana ngokusakazwa kwedatha okufanayo, ngakho-ke umsebenzi wabo uhlala uhlangene.

Ngakho sifika ephuzwini elibalulekile okufanele sikhulume ngalo. Nakuba izinsiza zisebenza kahle ezingxenyeni zengqalasizinda ezisebenza kakhulu zodwa, izinsiza eziningi zebhizinisi zigcina sezixhumene kakhulu.

I-Dichotomy yedatha

Izindlela ezigxile kusevisi zingase zikhona kakade, kodwa zisantula ukuqonda mayelana nendlela yokwabelana ngenani elikhulu ledatha phakathi kwezinsizakalo.

Inkinga enkulu ukuthi idatha namasevisi akuhlukaniseki. Ngakolunye uhlangothi, i-encapsulation isikhuthaza ukuthi sifihle idatha ukuze izinsizakalo zihlukaniswe komunye nomunye futhi zenze ukukhula kwazo kanye nezinguquko ezengeziwe. Ngakolunye uhlangothi, sidinga ukwazi ukuhlukanisa ngokukhululekile futhi sinqobe idatha eyabiwe, njenganoma iyiphi enye idatha. Iphuzu ukuthi ukwazi ukuqala ukusebenza ngokushesha, ngokukhululeka njengakunoma yiluphi olunye uhlelo lolwazi.

Kodwa-ke, izinhlelo zolwazi azihlangene kancane ne-encapsulation. Eqinisweni, kuphambene impela. Izizindalwazi zenza konke ezingakwenza ukuze zinikeze ukufinyelela kudatha eziyigcinayo. Ziza nesixhumi esibonakalayo esinamandla esikuvumela ukuthi uguqule idatha njengoba udinga. Ukusebenza okunjalo kubalulekile esigabeni sokuqala socwaningo, kodwa hhayi ekulawuleni inkimbinkimbi ekhulayo yesevisi eguqukayo njalo.

I-Dichotomy yedatha: ukucabanga kabusha ubudlelwano phakathi kwedatha namasevisi

Futhi lapha kuphakama inkinga. Ukuphikisana. I-Dichotomy. Phela, izinhlelo zolwazi zimayelana nokuhlinzeka ngedatha, kanti izinsiza zimayelana nokufihla.

La mandla amabili ayisisekelo. Basekela omningi womsebenzi wethu, bahlale belwela ukwenza kahle ezinhlelweni esiwakhayo.

Njengoba izinhlelo zesevisi zikhula futhi zishintsha, sibona imiphumela ye-dichotomy yedatha ngezindlela eziningi. Isixhumanisi sesevisi sizokhula, sinikeze ububanzi obuningi bemisebenzi futhi siqale ukubukeka njengesizindalwazi sekhaya elihle kakhulu, noma sizokhungatheka futhi sisebenzise indlela ethile yokubuyisa noma ukuhambisa ngobuningi amasethi edatha kusuka kusevisi kuya kusevisi.

I-Dichotomy yedatha: ukucabanga kabusha ubudlelwano phakathi kwedatha namasevisi

Ngokulandelayo, ukudala okuthile okubukeka njengesizindalwazi sasekhaya esihle kuzoholela kunkimbinkimbi yezinkinga. Ngeke singene ngemininingwane yokuthi kungani kuyingozi database okwabiwe, ake sithi imele ubunjiniyela obubiza kakhulu kanye nokusebenza ubunzima enkampanini ezama ukuyisebenzisa.

Okubi kakhulu ukuthi umthamo wedatha ukhulisa izinkinga zemingcele yesevisi. Uma idatha eyabiwe kakhulu ilele ngaphakathi kwesevisi, kulapho isixhumi esibonakalayo sizoba nzima nakakhulu futhi kuzoba nzima nakakhulu ukuhlanganisa amasethi edatha avela kumasevisi ahlukene.

Enye indlela yokukhipha nokuhambisa wonke amasethi wedatha nayo inezinkinga zayo. Indlela evamile kulo mbuzo ibonakala njengokubuyisela nokugcina yonke idathasethi, bese uyigcina endaweni kusevisi esetshenziswayo ngayinye.

I-Dichotomy yedatha: ukucabanga kabusha ubudlelwano phakathi kwedatha namasevisi

Inkinga ukuthi izinsiza ezihlukene zitolika idatha eziyisebenzisayo ngendlela ehlukile. Le datha ihlezi iseduze. Ziyashintshwa futhi zicutshungulwe endaweni. Ngokushesha bayayeka ukufana nedatha emthonjeni.

I-Dichotomy yedatha: ukucabanga kabusha ubudlelwano phakathi kwedatha namasevisi
Uma amakhophi eshintshashintsha kakhulu, idatha izohluka kakhulu ngokuhamba kwesikhathi.

Ukwenza izinto zibe zimbi kakhulu, idatha enjalo kunzima ukuyilungisa uma ubheka emuva (I-MDM Yilapho engakwazi khona ukusiza ngempela). Eqinisweni, ezinye zezinkinga zobuchwepheshe ezingaxazululeki amabhizinisi abhekana nazo zivela kudatha ehlukene ephindaphindeka kusukela ekusetshenzisweni kuya ekusetshenzisweni.

Ukuze sithole isixazululo sale nkinga, sidinga ukucabanga ngendlela ehlukile mayelana nedatha eyabiwe. Kufanele zibe izinto zekilasi lokuqala ekwakhiweni kwezakhiwo esizakhayo. Pat Helland ibiza idatha enjalo "yangaphandle", futhi lokhu kuyisici esibaluleke kakhulu. Sidinga i-encapsulation ukuze singavezi ukusebenza kwangaphakathi kwesevisi, kodwa sidinga ukwenza kube lula ukuthi amasevisi afinyelele idatha eyabiwe ukuze enze imisebenzi yawo ngendlela efanele.

I-Dichotomy yedatha: ukucabanga kabusha ubudlelwano phakathi kwedatha namasevisi

Inkinga ukuthi ayikho indlela efanelekile namuhla, njengoba i-interface yesevisi, noma imilayezo, noma Isizindalwazi Esihlanganyelwe asinikezi isisombululo esihle sokusebenza nedatha yangaphandle. Izixhumi ezibonakalayo zesevisi azifaneleki kahle ukushintshaniswa kwedatha kunoma yisiphi isikali. Imiyalezo ihambisa idatha kodwa ayiwugcini umlando wayo, ngakho idatha yonakala ngokuhamba kwesikhathi. Imininingo egciniwe eyabiwe igxila kakhulu ephuzwini elilodwa, okuvimbela ukuqhubeka. Nakanjani sibambeka kumjikelezo wokuhluleka kwedatha:

I-Dichotomy yedatha: ukucabanga kabusha ubudlelwano phakathi kwedatha namasevisi
Umjikelezo wokuhluleka kwedatha

Ukusakaza: indlela yokwehlukaniswa kwedatha namasevisi

Ngokufanelekile, sidinga ukushintsha indlela amasevisi asebenza ngayo ngedatha eyabiwe. Kuleli qophelo, noma iyiphi indlela ibhekene ne-dichotomy eshiwo ngenhla, njengoba lungekho uthuli oluyimilingo olungafafazwa kulo ukuze lunyamalale. Nokho, singayicabangisisa kabusha inkinga futhi sifinyelele ukuvumelana.

Lokhu kuvumelana kuhilela izinga elithile le-centralization. Singasebenzisa indlela yelogi esabalalisiwe ngoba inikeza ukusakazwa okuthembekile, nokukalayo. Manje sifuna izinsiza zikwazi ukujoyina nokusebenzisa lolu chungechunge olwabiwe, kodwa sifuna ukugwema Izinkonzo ZikaNkulunkulu eziyinkimbinkimbi ezenza lokhu kucutshungulwa. Ngakho-ke, inketho engcono kakhulu ukwakha ukucubungula kokusakaza kusevisi ngayinye yabathengi. Ngale ndlela, amasevisi azokwazi ukuhlanganisa amasethi edatha avela emithonjeni ehlukene futhi asebenze nawo ngendlela ayidinga ngayo.

Enye indlela yokufeza le ndlela ngokusebenzisa inkundla yokusakaza. Kunezinketho eziningi, kodwa namuhla sizobheka i-Kafka, njengoba ukusetshenziswa kwe-Stateful Stream Processing kusivumela ukuthi sixazulule ngempumelelo inkinga ethulwe.

I-Dichotomy yedatha: ukucabanga kabusha ubudlelwano phakathi kwedatha namasevisi

Ukusebenzisa indlela yokugawulwa esabalalisiwe kusivumela ukuthi silandele indlela enyathelwe kahle futhi sisebenzise imiyalezo esisebenza ngayo izakhiwo eziqhutshwa umcimbi. Le ndlela ibhekwa njengenikeza ukukala nokuhlukanisa okungcono kunendlela yokuphendula isicelo ngoba inikeza ukulawula ukugeleza kumamukeli kunomthumeli. Kodwa-ke, kukho konke kulokhu kuphila kufanele ukhokhe, futhi lapha udinga umthengisi. Kodwa kumasistimu amakhulu, ukuhwebelana kuyakufanelekela (okungase kungabi njalo kuhlelo lwakho lokusebenza lwewebhu olumaphakathi).

Uma umthengisi enesibopho sokungena okusabalalisiwe esikhundleni sesistimu yemiyalezo evamile, ungasebenzisa okunenzuzo izici ezengeziwe. Izinto zokuthutha zingalinganisa ngomugqa cishe kanye nesistimu yefayela elisabalalisiwe. Idatha ingagcinwa kumalogi isikhathi eside impela, ngakho-ke asitholi kuphela ukushintshaniswa kwemiyalezo, kodwa futhi nokugcinwa kolwazi. Isitoreji esingakala ngaphandle kokwesaba isimo sokwabelana esishintshekayo.

Ungasebenzisa ukucubungula kokusakaza okunesimo ukuze ungeze amathuluzi esizindalwazi esimemezelayo kumasevisi adlayo. Lona umqondo obaluleke kakhulu. Nakuba idatha ilondolozwe ekusakazweni okwabiwe wonke amasevisi angafinyelela kukho, ukuhlanganisa nokucubungula okwenziwa yisevisi kuyimfihlo. Bazithola bebodwa ngaphakathi komongo olinganiselwe.

I-Dichotomy yedatha: ukucabanga kabusha ubudlelwano phakathi kwedatha namasevisi
Susa i-dichotomy yedatha ngokuhlukanisa ukusakaza kwesimo esingaguquleki. Bese wengeza lokhu kusebenza kuyo yonke isevisi usebenzisa i-Stateful Stream Processing.

Ngakho-ke, uma isevisi yakho idinga ukusebenza ngama-oda, ikhathalogi yomkhiqizo, indawo yokugcina impahla, izoba nokufinyelela okugcwele: nguwe kuphela ozonquma ukuthi iyiphi idatha ongayihlanganisa, ukuthi ungayicubungula kuphi nokuthi kufanele ishintshe kanjani ngokuhamba kwesikhathi. Naphezu kweqiniso lokuthi idatha yabiwe, ukusebenza nayo ihlukaniswe ngokuphelele. Ikhiqizwa ngaphakathi kwesevisi ngayinye, emhlabeni lapho yonke into ihamba ngokwemithetho yakho.

I-Dichotomy yedatha: ukucabanga kabusha ubudlelwano phakathi kwedatha namasevisi
Yabelana ngedatha ngaphandle kokuphazamisa ubuqotho bayo. Faka i-encapsulate umsebenzi, hhayi umthombo, kuyo yonke isevisi eyidingayo.

Kwenzeka ukuthi idatha idinga ukuhanjiswa ngobuningi. Kwesinye isikhathi isevisi idinga idathasethi yomlando wendawo enjini yolwazi olukhethiwe. Iqhinga liwukuthi ungaqinisekisa ukuthi, uma kunesidingo, ikhophi ingabuyiselwa emthonjeni ngokufinyelela indlela yokugawulwa esabalalisiwe. Izixhumi e-Kafka zenza umsebenzi omuhle walokhu.

Ngakho, indlela okuxoxwa ngayo namuhla inezinzuzo eziningana:

  • Idatha isetshenziswa ngendlela yokusakaza evamile, engagcinwa ezingodweni isikhathi eside, futhi indlela yokusebenza nedatha evamile ifakwe ngokuqinile kumongo ngamunye ngamunye, okuvumela izinsizakalo ukuthi zisebenze kalula futhi ngokushesha. Ngale ndlela, i-dichotomy yedatha ingalinganiswa.
  • Idatha evela kumasevisi ahlukene ingahlanganiswa kalula ibe amasethi. Lokhu kwenza kube lula ukusebenzisana nedatha eyabiwe futhi kuqede isidingo sokugcina amasethi edatha wendawo kusizindalwazi.
  • I-Stateful Stream Processing igcina idatha kuphela, futhi umthombo weqiniso uhlala uyilogi evamile, ngakho inkinga yokonakala kwedatha ngokuhamba kwesikhathi ayibi kakhulu.
  • Emqondweni wawo, izinsiza ziqhutshwa yidatha, okusho ukuthi naphezu kwedatha ekhula njalo, amasevisi asengaphendula ngokushesha emicimbini yebhizinisi.
  • Izinkinga zokukala ziwela kumthengisi, hhayi izinsizakalo. Lokhu kunciphisa kakhulu ubunzima bezinsizakalo zokubhala, ngoba asikho isidingo sokucabanga ngokulinganisa.
  • Ukwengeza amasevisi amasha akudingi ukushintsha amadala, ngakho ukuxhuma izinsiza ezintsha kuba lula.

Njengoba ubona, lokhu kungaphezu nje kwe-REST. Sithole isethi yamathuluzi akuvumela ukuthi usebenze ngedatha eyabiwe ngendlela ehlukaniselwe.

Akuzona zonke izici ezichazwe esihlokweni sanamuhla. Kusadingeka sithole ukuthi sibhalansa kanjani phakathi kwe-paradigm yesicelo kanye ne-paradigm eqhutshwa umcimbi. Kodwa sizobhekana nalokhu ngokuzayo. Kunezihloko okudingeka uzazi kangcono, isibonelo, kungani i-Stateful Stream Processing inhle kangaka. Sizokhuluma ngalokhu esihlokweni sesithathu. Futhi kunezinye izakhiwo ezinamandla esingazisebenzisa uma siphendukela kuzo, isibonelo, Kanye Kanye Iyacubungula. Iwushintsho lomdlalo wezinhlelo zebhizinisi ezisabalalisiwe ngoba inikeza iziqinisekiso zokuthengiselana ze XA ngendlela enokukala. Lokhu kuzoxoxwa ngakho esihlokweni sesine. Okokugcina, sizodinga ukubheka imininingwane yokusetshenziswa kwale migomo.

I-Dichotomy yedatha: ukucabanga kabusha ubudlelwano phakathi kwedatha namasevisi

Kodwa okwamanje, khumbula lokhu: i-data dichotomy ingamandla esibhekana nawo lapho sakha izinsizakalo zebhizinisi. Futhi kufanele sikukhumbule lokhu. Iqhinga liwukuguqula yonke into ekhanda layo bese uqala ukuphatha idatha eyabiwe njengezinto ezisezingeni lokuqala. I-Stateful Stream Processing inikeza ukuvumelana okuyingqayizivele kulokhu. Igwema "Izingxenye ZikaNkulunkulu" ezibambezela inqubekela phambili. Ngaphezu kwalokho, iqinisekisa ukushelela, ukukala kanye nokuqina kwamapayipi okusakaza idatha futhi iwangeza kuyo yonke isevisi. Ngakho-ke, singagxila ekusakazeni okuvamile kokuqaphela lapho noma iyiphi isevisi ingaxhuma futhi isebenze nedatha yayo. Lokhu kwenza izinsiza zikhule, zishintsheke futhi zizimele. Ngakho-ke ngeke babukeke bebahle kuphela kumabhodi amhlophe nokuhlolwa kwe-hypothesis, kodwa futhi bazosebenza futhi baguquke amashumi eminyaka.

Funda kabanzi mayelana nesifundo.

Source: www.habr.com

Engeza amazwana