I-dichotomy yedatha: ukucinga ngokutsha ubudlelwane phakathi kwedatha kunye neenkonzo

Molweni nonke! Sineendaba ezimnandi, i-OTUS iqalisa ikhosi kwakhona ngoJuni "Umyili weSoftware", ngokunxulumene nesiko esibelana ngalo nawe ngezinto eziluncedo.

I-dichotomy yedatha: ukucinga ngokutsha ubudlelwane phakathi kwedatha kunye neenkonzo

Ukuba uye wadibana nalo lonke eli bali le-microservices ngaphandle kwawo nawuphi na umxholo, uya kuxolelwa ngokucinga ukuba yinto engaqhelekanga. Ukwahlula isicelo sibe ngamaqhekeza adityaniswe nguthungelwano ngokuyimfuneko kuthetha ukongeza iindlela ezintsonkothileyo zokunyamezela iimpazamo kwinkqubo esasazwayo enesiphumo.

Nangona le ndlela ibandakanya ukwahlula kwiinkonzo ezininzi ezizimeleyo, injongo yokugqibela ingaphezulu nje kokuqhuba ezo nkonzo koomatshini abahlukeneyo. Sithetha apha malunga nokusebenzisana nehlabathi langaphandle, elikwasasazwa ngokubaluleka kwalo. Akunjalo ngengqiqo yobugcisa, kodwa ngokwengqiqo ye-ecosystem enabantu abaninzi, amaqela, iinkqubo, kwaye nganye yezi nxalenye kufuneka yenze umsebenzi wayo ngendlela enye okanye enye.

Iinkampani, umzekelo, ziseti yeenkqubo ezisasazwayo ezithi kunye negalelo ekuphunyezweni kwenjongo ethile. Besingayinanzi le nyaniso amashumi eminyaka, sizama ukufezekisa umanyano ngodluliselo lwe-FTP okanye izixhobo zokudibanisa ishishini, ngelixa sigxile kwiinjongo zethu ezahlukeneyo. Kodwa ngokufika kweenkonzo, yonke into itshintshile. Iinkonzo ziye zasinceda ukuba sijonge ngaphaya kombono kwaye sibone ihlabathi leenkqubo ezixhomekeke kwelinye ezisebenza kunye. Nangona kunjalo, ukuze usebenze ngempumelelo, kuyimfuneko ukuqaphela kunye noyilo lwehlabathi ezimbini ezahlukeneyo: ihlabathi langaphandle, apho sihlala kwi-ecosystem yezinye iinkonzo ezininzi, kunye nehlabathi lethu, ihlabathi langaphakathi, apho silawula sodwa.

I-dichotomy yedatha: ukucinga ngokutsha ubudlelwane phakathi kwedatha kunye neenkonzo

Ihlabathi elisasazwe ngolo hlobo lahlukile kuleyo sakhulela kuyo nesele siyiqhelile. Imigaqo yokwakha i-architecture ye-monolithic yendabuko ayimelanga ukugxeka. Ke ukufumana ezi nkqubo zilungile kungaphezulu kokwenza umzobo opholileyo webhodi emhlophe okanye ubungqina obupholileyo bengqiqo. Ingcamango kukuba inkqubo enjalo iya kusebenza ngempumelelo ixesha elide. Ngethamsanqa, iinkonzo bezikhona ixesha elide, nangona zikhangeleka zahlukile. Izifundo ze-SOA isasebenza, kwaye ifakwe i-Docker, i-Kubernetes, kunye neendevu ezincinci ze-hipster.

Ke namhlanje siza kujonga ukuba imithetho itshintshe njani, kutheni kufuneka siphinde sicinge ngendlela yethu kwiinkonzo kunye nedatha abayidluliselayo komnye nomnye, kwaye kutheni siya kufuna isixhobo sezixhobo ezahlukeneyo saloo nto.

I-Ecapsulation ayizukuhlala ingumhlobo wakho

I-Microservices inokusebenza ngokuzimeleyo enye kwenye. Yile propati ebanika ixabiso elikhulu. Le propati ifanayo ivumela iinkonzo ukuba zikhule kwaye zikhule. Akunjalo kakhulu malunga nokulinganisa kwii-quadrillions zabasebenzisi okanye i-petabytes yedatha (nangona banokunceda apha kwakhona), kodwa ngokumalunga nokunyuka kwabantu njengoko amaqela kunye nemibutho ikhula ngokuqhubekayo.

I-dichotomy yedatha: ukucinga ngokutsha ubudlelwane phakathi kwedatha kunye neenkonzo

Nangona kunjalo, ukuzimela likrele elintlangothi-mbini. Oko kukuthi, inkonzo ngokwayo inokujikeleza ngokulula kwaye ngokwemvelo. Kodwa ukuba umsebenzi uphunyeziwe ngaphakathi kwenkonzo efuna enye inkonzo ukuba ibandakanyeke, ngoko sigqibe ekubeni senze utshintsho kuzo zombini iinkonzo phantse ngaxeshanye. Kwi-monolith, oku kulula ukwenza, wenza nje utshintsho kwaye uyithumele ukukhulula, kodwa kwimeko yokuvumelanisa iinkonzo ezizimeleyo, kuya kuba neengxaki ezininzi. Ulungelelwaniso phakathi kwamaqela kunye nemijikelo yokukhulula yonakalisa ukuguquguquka.

I-dichotomy yedatha: ukucinga ngokutsha ubudlelwane phakathi kwedatha kunye neenkonzo

Njengenxalenye yendlela eqhelekileyo, bazama nje ukuphepha utshintsho olucasulayo ekupheleni kokuphela, ukwahlula ngokucacileyo ukusebenza phakathi kweenkonzo. Inkonzo yokungena enye ingaba ngumzekelo omhle apha. Inendima echazwe kakuhle eyenza ukuba yahluke kwezinye iinkonzo. Olu lwahlulo olucacileyo luthetha ukuba kwihlabathi leemfuno eziguqukayo ngokukhawuleza kwiinkonzo ezijikelezayo, i-SSO ayinakwenzeka ukutshintsha. Ikho phakathi komxholo ongqongqo.

I-dichotomy yedatha: ukucinga ngokutsha ubudlelwane phakathi kwedatha kunye neenkonzo

Ingxaki kukuba kwihlabathi lenene, iinkonzo zoshishino azikwazi ukugcina ukwahlulwa okufanayo okucocekileyo kweendima ngalo lonke ixesha. Umzekelo, iinkonzo zoshishino ezifanayo zisebenza ngakumbi ngedatha evela kwezinye iinkonzo ezifanayo. Ukuba ungumthengisi we-intanethi, ukuhamba kwe-odolo yokuphatha, ikhathalogu yemveliso, okanye ulwazi lomsebenzisi luya kuba yimfuneko kwiinkonzo zakho ezininzi. Inkonzo nganye iya kufuna ukufikelela kule datha ukuze isebenze.

I-dichotomy yedatha: ukucinga ngokutsha ubudlelwane phakathi kwedatha kunye neenkonzo
Uninzi lweenkonzo zoshishino zisebenzisa i-data stream efanayo, ngoko umsebenzi wabo uhlala udibene.

Ngaloo ndlela sifikelela kwingongoma ebalulekileyo esifanele sithethe ngayo. Ngelixa iinkonzo zisebenza kakuhle kumacandelo eziseko ezingundoqo asebenza ubukhulu becala eyedwa, uninzi lweenkonzo zoshishino ziphela zithungelana kakhulu.

I-dichotomy yedatha

Iindlela ezijoliswe kwiinkonzo zinokuthi zikhona, kodwa kusekho ulwazi oluncinci malunga nendlela yokutshintshiselana ngeemali ezinkulu zedatha phakathi kweenkonzo.

Ingxaki enkulu kukuba idatha kunye neenkonzo azikwazi ukwahlula. Ngakolunye uhlangothi, i-encapsulation isikhuthaza ukuba sifihle idatha ukwenzela ukuba iinkonzo zihlulwe omnye komnye kwaye ziququzelele ukukhula kwazo kunye nolunye utshintsho. Kwelinye icala, kufuneka sikwazi ukwahlula kwaye soyise ngokukhululekileyo kwidatha ekwabelwana ngayo, njengayo nayiphi na enye. Kumalunga nokukwazi ukuqalisa ukusebenza ngokukhawuleza, ngokukhululekileyo njengakuyo nayiphi na enye inkqubo yolwazi.

Nangona kunjalo, iinkqubo zolwazi zinento encinci yokwenza ne-encapsulation. Enyanisweni, kunjalo nangezinye iindlela. Oovimba beenkcukacha benza konke abanako ukunika ukufikelela kwidatha abayigcinayo. Baza kunye nojongano olunamandla lokubhengeza olukuvumela ukuba uguqule idatha njengoko uthanda. Ukusebenza okunjalo kubalulekile kwinqanaba lophando lokuqala, kodwa kungekhona ukulawula ubunzima obukhulayo benkonzo ehlala ivela.

I-dichotomy yedatha: ukucinga ngokutsha ubudlelwane phakathi kwedatha kunye neenkonzo

Kwaye apha kuvela ingxaki. Ukuchasana. I-Dichotomy. Emva koko, iinkqubo zolwazi malunga nokubonelela ngedatha, kwaye iinkonzo zimalunga nokufihla.

La mandla mabini asisiseko. Bawuxhasa umsebenzi wethu omninzi, besoloko besilwela ukongama kwiinkqubo esizakhayo.

Njengoko iinkqubo zenkonzo zikhula kwaye zikhula, sibona ukubonakaliswa okuhlukeneyo kweempembelelo ze-dichotomy yedatha. Nokuba ujongano lwenkonzo luya kukhula lubonelele ngeempawu ezithe chatha kwaye luqale ukubonakala ngathi lugcino lwedatha lwasekhaya oluhle kakhulu, okanye siya kuphazamiseka kwaye siphumeze indlela ethile yokukhupha okanye ukuhambisa iiseti zedatha ngobuninzi ukusuka kwinkonzo ukuya kwinkonzo.

I-dichotomy yedatha: ukucinga ngokutsha ubudlelwane phakathi kwedatha kunye neenkonzo

Ngapha koko, ukwenza into ekhangeleka ngathi yi-database ye-homebrew fancy kuya kukhokelela kwiingxaki ezininzi. Asiyi kungena kwiinkcukacha zento eyingozi ekwabelwana ngayo uvimba weenkcukacha, masithi imele ubunjineli obunexabiso eliphezulu kunye nokusebenza ubunzima kwinkampani ezama ukuyisebenzisa.

Okubi nakakhulu, umthamo wedatha uphindaphinda iingxaki kunye nemida yenkonzo. Idatha eqhelekileyo ilala ngaphakathi kwenkonzo, i-interface iya kuba nzima ngakumbi kwaye kuya kuba nzima ukudibanisa iiseti zedatha ezivela kwiinkonzo ezahlukeneyo.

Enye indlela yokukhupha kunye nokuhambisa zonke iiseti zedatha nazo zineengxaki zayo. Indlela eqhelekileyo kulo mbuzo ibonakala ikukukhuphela ngokulula kwaye ugcine yonke idatha yedatha, kwaye uyigcine kwindawo kwinkonzo nganye yokutya.

I-dichotomy yedatha: ukucinga ngokutsha ubudlelwane phakathi kwedatha kunye neenkonzo

Ingxaki kukuba iinkonzo ezahlukeneyo zitolika idatha abayidlayo ngokwahlukileyo. Le datha isoloko isesandleni. Ziyalungiswa kwaye ziqhutywe ekuhlaleni. Kungekudala bayayeka ukuba nento yokwenza nedatha ekumthombo.

I-dichotomy yedatha: ukucinga ngokutsha ubudlelwane phakathi kwedatha kunye neenkonzo
Okukhona ukuguqulwa kweekopi, kokukhona idatha iya kwahluka ngokuhamba kwexesha.

Okubi ngakumbi, idatha enjalo kunzima ukuyilungisa xa ujonga umva (MDM kulapho ifumaneka khona ngokwenene.) Ngapha koko, eminye imiceli mngeni yetekhnoloji engenakuthintelwa amashishini ajongene nayo isuka kwidatha engafaniyo eyandayo ukusuka kwisicelo ukuya kwisicelo.

Ukufumana isisombululo kule ngxaki yedatha eqhelekileyo, kufuneka ucinge ngendlela eyahlukileyo. Kufuneka zibe zizinto zodidi lokuqala kuyilo lwezakhiwo esilwakhayo. Pat Helland ibiza idatha enjalo "yangaphandle", kwaye le nto ibaluleke kakhulu. Sifuna i-encapsulation ukuze singavezi abantu bangaphakathi kwinkonzo, kodwa kufuneka senze kube lula kwiinkonzo ukufikelela kwidatha ekwabelwana ngayo ukuze bakwazi ukwenza umsebenzi wabo ngokuchanekileyo.

I-dichotomy yedatha: ukucinga ngokutsha ubudlelwane phakathi kwedatha kunye neenkonzo

Ingxaki kukuba akukho ndlela ifanelekileyo namhlanje, kuba akukho ujongano lwenkonzo, okanye imiyalezo, okanye iDatabase ekwabelwana ngayo inika isisombululo esihle sokusebenza neenkcukacha zangaphandle. Ujongano lwenkonzo alufanelekanga ukutshintshiselana ngedatha nangasiphi na isikali. Ukuthumela imiyalezo kuhambisa idatha kodwa ayigcini imbali yayo, ngoko ke idatha yonakala ngokuhamba kwexesha. Oovimba beenkcukacha ekwabelwana ngazo bagxile kakhulu kwinqaku elinye, nto leyo ebambezela inkqubela phambili. Ngokuqinisekileyo sibambeka kumjikelo wokungaphumeleli kwedatha:

I-dichotomy yedatha: ukucinga ngokutsha ubudlelwane phakathi kwedatha kunye neenkonzo
Umjikelo wokungaphumeleli kwedatha

Ukuqukuqela: indlela yokwabela amagunya kwidatha neenkonzo

Ngokufanelekileyo, kufuneka sitshintshe indlela iinkonzo ezisebenza ngayo kunye nedatha ekwabelwana ngayo. Okwangoku, nayiphi na indlela ibaleka kwi-dichotomy ekhankanywe ngasentla, njengoko kungekho thuli lomlingo olunokufefa ngesisa kulo kwaye lwenziwe lunyamalale. Nangona kunjalo, sinokuphinda sicinge ngengxaki kwaye sifikelele kwisigqibo.

Oku kungqamana kuthetha iqondo elithile lokumisa kwindawo enye. Sinokuthatha ithuba lendlela yokugawulwa kwemithi esasaziweyo njengoko ibonelela ngemisinga ethembekileyo, enokunyuka. Ngoku sifuna iinkonzo zikwazi ukujoyina kwaye ziqhube kule misonto ekwabelwana ngayo, kodwa sifuna ukunqanda iiNkonzo zikaThixo ezintsonkothileyo ezenza le nkqubo. Ke ngoko, olona khetho lungcono kukwakha inkqubo yokusasaza kwinkonzo nganye yabathengi. Oku kuvumela iinkonzo ukuba zidibanise iiseti zedatha ezivela kwimithombo eyahlukeneyo kwaye zisebenze nazo ngendlela ezifuna ngayo.

Enye indlela yokuphumeza le ndlela kukusebenzisa iqonga lokusasaza. Kukho iinketho ezininzi, kodwa namhlanje siza kuthathela ingqalelo iKafka, kuba ukusebenzisa iStateful Stream Processing kusivumela ukuba sisombulule ngempumelelo ingxaki ekhoyo.

I-dichotomy yedatha: ukucinga ngokutsha ubudlelwane phakathi kwedatha kunye neenkonzo

Ukusebenzisa indlela esasaziweyo yokugawulwa kwemithi kusivumela ukuba silandele indlela ebethiweyo kwaye sisebenzise imiyalezo ukusebenza nayo ulwakhiwo oluqhutywa sisiganeko. Le ndlela ithathwa njengokubonelela ngezikali ezingcono kunye nokwahlula kunendlela yokuphendula isicelo kuba inika ulawulo lokuhamba ukuya kumamkeli kunomthumeli. Nangona kunjalo, kufuneka uhlawule yonke into kobu bomi, kwaye apha ufuna umthengisi. Kodwa kwiinkqubo ezinkulu, olu rhwebo lufanelekile (ongenakukwazi ukuthetha malunga ne-avareji yezicelo zewebhu).

Ukuba i-broker inoxanduva lokungena ngokusasazwa, kwaye kungekhona inkqubo yemiyalezo yendabuko, unokuthatha inzuzo yeempawu ezongezelelweyo. Uthutho lunokulinganisa ngokulandelelana phantse kunye nenkqubo yefayile esasaziweyo. Idatha inokugcinwa kwiilogi ixesha elide, ngoko ke asifumani kuphela imiyalezo, kodwa kunye nendawo yokugcina ulwazi. Ugcino olunokwehla ngaphandle koloyiko lokutshintsha ekwabelwana ngalo.

Emva koko unokusebenzisa indlela yokuqhuba umjelo ocacileyo ukongeza izixhobo zesiseko sedatha kwiinkonzo zakho ezidliwayo. Le yingcinga ebaluleke kakhulu. Ngethuba nje idatha igcinwe kwimijelo ekwabelwana ngayo enokuthi ifikeleleke kuzo zonke iinkonzo, ukudibanisa kunye nokucubungula okwenziwa yinkonzo kuyimfihlo. Zibekwe zodwa ngaphakathi kwimeko engqongqo ngokungqongqo.

I-dichotomy yedatha: ukucinga ngokutsha ubudlelwane phakathi kwedatha kunye neenkonzo
Lahla i-dichotomy yedatha ngokwahlula umjelo wombuso ongenakuguqulwa. Emva koko yongeza oku kusebenza kwinkonzo nganye usebenzisa i-Stateful Stream Processing.

Ngaloo ndlela, ukuba inkonzo yakho kufuneka isebenze kunye nemiyalelo, ikhathalogu yemveliso, indawo yokugcina impahla, iya kuba nokufikelela okupheleleyo: kuphela uya kugqiba ukuba yeyiphi idatha yokudibanisa, ukuba uyiqhube phi kwaye kufuneka utshintshe njani ngexesha. Ngaphandle kwento yokuba idatha kwabelwana ngayo, ukusebenza nayo kunikezelwe ngokupheleleyo. Iveliswa ngaphakathi kwenkonzo nganye, kwihlabathi apho yonke into ihamba ngokwemigaqo yakho.

I-dichotomy yedatha: ukucinga ngokutsha ubudlelwane phakathi kwedatha kunye neenkonzo
Yabelana ngedatha ngaphandle kokuphazamisa ingqibelelo yayo. Hlanganisa umsebenzi, hayi umthombo, kuyo yonke inkonzo efunekayo.

Ngoko kwenzeka ukuba idatha kufuneka ihanjiswe ngobuninzi. Ngamanye amaxesha inkonzo idinga i-dataset yembali yendawo kwi-injini yedatha ekhethiweyo. Ubuqhetseba kukuba kunokuqinisekiswa ukuba, ukuba kuyimfuneko, ikopi inokubuyiselwa ukusuka kumthombo ngokuqhagamshelana nendlela yokugawulwa kwemithi. Abanxibelelanisi eKafka benza umsebenzi omhle woku.

Ke, indlela ekuxoxwa ngayo namhlanje ineengenelo ezininzi:

  • Idatha isetyenziswe ngendlela yemilambo ekwabelwana ngayo enokugcinwa kwiilogi ixesha elide, kwaye indlela yokusebenza kunye nedatha ekwabelwana ngayo i-hardwired kumxholo ngamnye ngamnye, ovumela ukuba iinkonzo zisebenze ngokulula nangokukhawuleza. Ngale ndlela, i-dichotomy yedatha inokulinganisa.
  • Idatha evela kwiinkonzo ezahlukeneyo inokudityaniswa ngokulula kwiiseti. Oku kwenza kube lula ukusebenzisana kunye nedatha ekwabelwana ngayo kwaye kuphelisa isidingo sokugcina idatha yendawo kwisiseko sedatha.
  • I-Stateful Stream Processing igcina idatha kuphela, kwaye iilogi eziqhelekileyo zihlala zingumthombo wenyaniso, ngoko ke ingxaki yorhwaphilizo lwedatha ekuhambeni kwexesha ayikho kakhulu.
  • Kwisiseko sabo, iinkonzo ziqhutywa yidatha, oku kuthetha ukuba nangona ukukhula rhoqo kwimithamo yedatha, iinkonzo zisengaphendula ngokukhawuleza kwiziganeko zoshishino.
  • Imiba ye-scalability iwela kumthengisi, hayi iinkonzo. Oku kunciphisa kakhulu ubunzima beenkonzo zokubhala, kuba akukho mfuneko yokucinga malunga nokulinganisa.
  • Ukongeza iinkonzo ezintsha akufuni ukutshintsha ezindala, ngoko ukudibanisa iinkonzo ezintsha kuba lula.

Njengoko ubona, kungaphezulu nje koku-REST. Sifumene iseti yezixhobo ezikuvumela ukuba usebenze ngedatha ekwabelwana ngayo ngendlela enabekelwe amagunya.

Ayizizo zonke iinkalo ezichaziweyo kwinqaku lanamhlanje. Kusafuneka sicinge ukuba singalinganisa njani na phakathi kwe-paradigm yempendulo yesicelo kunye ne-paradigm eqhutywa sisiganeko. Kodwa siza kujongana noku kwixesha elizayo. Kukho izihloko ekufuneka wazi ngcono, umzekelo, kutheni iStateful Stream Processing ilungile. Siza kuthetha ngako kwinqaku lesithathu. Kwaye kukho ezinye izakhiwo ezinamandla esinokuzisebenzisa ukuba sibhenela kuzo, umzekelo, Kanye Kanye Ukuqhubekekiswa. Yinguqu yomdlalo kwiinkqubo zoshishino ezisasazwayo njengoko ibonelela ngeziqinisekiso zokuthengiselana XA kwimo enokunyuka. Oku kuya kuxutyushwa kwinqaku lesine. Okokugqibela, kuya kufuneka sijonge iinkcukacha zokuphumeza le migaqo.

I-dichotomy yedatha: ukucinga ngokutsha ubudlelwane phakathi kwedatha kunye neenkonzo

Kodwa okwangoku, khumbula oku: i-dichotomy yedatha ngamandla esijongana nawo xa sisakha iinkonzo zoshishino. Kwaye kufuneka siyikhumbule le nto. Iqhinga kukuguqula yonke into entloko kwaye uqale ukuphatha idatha ekwabelwana ngayo njengezinto zokuqala. iStateful Stream Processing ibonelela ngolungelelwaniso olulodwa koku. Inqanda "Amacandelo kaThixo" abambezela inkqubela phambili. Ngaphezu koko, ibonelela nge-agility, i-scalability, kunye nokuqina kwemibhobho yokusasazwa kwedatha kwaye iyongeza kwinkonzo nganye. Ngoko ke, sinokugxila kumjelo oqhelekileyo wokuqonda ukuba nayiphi na inkonzo inokuxhuma kunye nokusebenza neenkcukacha zayo. Oku kwenza iinkonzo zibe nokukaleka ngakumbi, zitshintshe, kwaye zizimele. Ngoko ke, abayi kukhangeleka kuphela kwiibhodi ezimhlophe kwaye xa bevavanya i-hypotheses, kodwa basebenze kwaye baphuhlise amashumi eminyaka.

Funda ngakumbi malunga nekhosi.

umthombo: www.habr.com

Yongeza izimvo