Ignite Service Grid - Qalisa kwakhona

Ngomhla wama-26 kaFebruwari, sibambe indibano yeApache Ignite GreenSource, apho abaxhasi kwiprojekthi yomthombo ovulekileyo bathetha. Apache Ignite. Isiganeko esibalulekileyo ebomini bolu luntu yayikukuhlengahlengiswa kwecandelo Lungisa igridi yeNkonzo, ekuvumela ukuba usebenzise ii-microservices zesiko ngokuthe ngqo kwi-Ignite cluster. Wathetha ngale nkqubo inzima kwindibano Vyacheslav Daradur, injineli yesoftware kunye nomxhasi we-Apache Ignite ngaphezulu kweminyaka emibini.

Ignite Service Grid - Qalisa kwakhona

Masiqale ngento eyi-Apache Ignite ngokubanzi. Le yidatabase esasazwayo iSitshixo / ukugcinwa kwexabiso kunye nenkxaso ye-SQL, ukuthengiselana kunye ne-caching. Ukongeza, i-Ignite ikuvumela ukuba usebenzise iinkonzo zesiko ngokuthe ngqo kwi-Ignite cluster. Umphuhlisi unokufikelela kuzo zonke izixhobo ezibonelela nge-Ignite - izakhiwo zedatha ezisasazwayo, iMiyalezo, ukusasaza, iKhompyutha kunye neGridi yeDatha. Ngokomzekelo, xa usebenzisa i-Data Grid, ingxaki yokulawula isiseko esahlukileyo sokugcinwa kwedatha kwaye, ngenxa yoko, iindleko ze-overhead ezibangelwayo ziyanyamalala.

Ignite Service Grid - Qalisa kwakhona

Ukusebenzisa i-API ye-Service Grid, unokusebenzisa inkonzo ngokucacisa nje iskimu sokuthunyelwa kwaye, ngokufanelekileyo, inkonzo ngokwayo ekucwangcisweni.

Ngokuqhelekileyo, iskim sokusasazwa kwemisebenzi luphawu lwenani leemeko ekufuneka zimiselwe kwiindawo zeqela. Kukho izikimu ezimbini eziqhelekileyo zokusasazwa. Eyokuqala yi-Cluster Singleton: nangaliphi na ixesha, umzekelo omnye wenkonzo yomsebenzisi uqinisekisiwe ukuba uya kufumaneka kwiqela. Okwesibini yi-Node Singleton: umzekelo omnye wenkonzo ubekwe kwindawo yeqela ngalinye.

Ignite Service Grid - Qalisa kwakhona

Umsebenzisi unokuchaza inani leemeko zenkonzo kwiqela lonke kwaye achaze isivisa sokuhluza iindawo ezifanelekileyo. Kule meko, i-Service Grid ngokwayo iya kubala usasazo olufanelekileyo lokusasazwa kweenkonzo.

Ukongeza, kukho into efana neNkonzo ye-Affinity. Ubudlelwane ngumsebenzi ochaza ubudlelwane bezitshixo kwizahlulo kunye nobudlelwane bamaqela kwiinodi kwi-topology. Ukusebenzisa isitshixo, unokugqiba indawo yokuqala apho idatha igcinwa khona. Ngale ndlela unokudibanisa inkonzo yakho kunye nesitshixo kunye ne-affinity function cache. Ukuba umsebenzi we-affinity uyatshintsha, ukusasazwa kwakhona ngokuzenzekelayo kuya kwenzeka. Ngale ndlela, inkonzo iya kuhlala ibekwe kufutshane nedatha efunekayo ukuyilawula, kwaye, ngokufanelekileyo, ukunciphisa i-overhead yokufikelela kulwazi. Olu dweliso lunokuthiwa luhlobo lwecomputing edibeneyo.

Ngoku ukuba sifumene ubuhle beGridi yeNkonzo, makhe sithethe ngembali yophuhliso.

Kwenzeka ntoni ngaphambili

Ukuphunyezwa kwangaphambili kweService Grid kwakusekwe kwi-cache ye-Ignite yetransactional replicated system cache. Igama elithi "cache" kwi-Ignite libhekisa kugcino. Oko kukuthi, oku akuyonto yethutyana, njengoko unokucinga. Ngaphandle kwento yokuba i-cache iphinda iphindwe kwaye i-node nganye iqulethe isethi yedatha yonke, ngaphakathi kwe-cache inombonakaliso ohlukeneyo. Oku kubangelwe kugcino lokugcina.

Ignite Service Grid - Qalisa kwakhona

Kwenzeka ntoni xa umsebenzisi efuna ukusebenzisa inkonzo?

  • Zonke iindawo ezikuluhlu zibhalisele ukuhlaziya idatha kwindawo yokugcina kusetyenziswa indlela yoMbuzo oQhubekekileyo eyakhelweyo.
  • I-node yokuqalisa, phantsi kwentengiselwano efundwayo, yenza irekhodi kwiziko ledatha eliqulethe ukucwangciswa kwenkonzo, kubandakanywa nomzekelo we-serialized.
  • Xa ukwaziswa ngengeniso entsha, umququzeleli ubale ukuhanjiswa ngokusekelwe kuqwalaselo. Into efunyenweyo yabhalwa kwakhona kwisiseko sedatha.
  • Ukuba i-node yayiyinxalenye yosasazo, umnxibelelanisi kwakufuneka ayibeke.

Yintoni eyayingasifanelanga

Ngexesha elithile safika kwisigqibo: oku akusiyo indlela yokusebenza kunye neenkonzo. Kwakukho izizathu ezininzi.

Ukuba impazamo ethile yenzekile ngexesha lokusasazwa, inokufunyanwa kuphela kwiilog zenode apho yonke into yenzeka khona. Kwakukho ukuthunyelwa kwe-asynchronous kuphela, ngoko emva kokubuyisela ulawulo kumsebenzisi ukusuka kwindlela yokuhambisa, ixesha elongezelelweyo lalifuneka ukuqalisa inkonzo - kwaye ngeli xesha umsebenzisi akakwazi ukulawula nantoni na. Ukuze uphuhlise iGridi yeNkonzo ngakumbi, dala iimpawu ezintsha, utsale abasebenzisi abatsha kwaye wenze ubomi bomntu wonke bube lula, into kufuneka itshintshe.

Xa siqulunqa iGridi yeNkonzo entsha, okokuqala sifuna ukubonelela ngesiqinisekiso sokuthunyelwa kwe-synchronous: ngokukhawuleza ukuba umsebenzisi abuyele ukulawula kwi-API, unokusebenzisa ngokukhawuleza iinkonzo. Kwakhona bendifuna ukunika umqalisi amandla okuphatha iimpazamo zokusasazwa.

Ukongeza, bendifuna ukwenza lula ukuphunyezwa, oko kukuthi, ukubaleka kwiintengiselwano kunye nokulungelelanisa. Nangona i-cache iphinda iphindwe kwaye akukho kulinganisa, iingxaki zavela ngexesha lokuthunyelwa okukhulu kunye neenode ezininzi. Xa i-topology itshintsha, i-nodes idinga ukutshintshiselana ngolwazi, kunye nokuthunyelwa okukhulu, le datha inokulinganisa kakhulu.

Xa i-topology yayingazinzanga, umnxibelelanisi wayefuna ukubala kwakhona ukuhanjiswa kweenkonzo. Kwaye ngokubanzi, xa kufuneka usebenze ngeentengiselwano kwi-topology engazinzanga, oku kunokukhokelela kwiimpazamo ezinzima ukuqikelela.

Iingxaki

Ziziphi iinguqulelo zehlabathi ngaphandle kokukhapha iingxaki? Eyokuqala kwezi yaba lutshintsho kwi-topology. Kufuneka uqonde ukuba nangaliphi na ixesha, nangomzuzu wokuhanjiswa kwenkonzo, i-node inokungena okanye ishiye iqela. Ngaphezu koko, ukuba ngexesha lokuthunyelwa i-node ijoyina i-cluster, kuya kufuneka ukuba udlulise ngokuqhubekayo lonke ulwazi malunga neenkonzo kwi-node entsha. Kwaye asithethi kuphela malunga noko sele kusetyenziswe, kodwa kunye nokuthunyelwa kwangoku kunye nexesha elizayo.

Le yenye yeengxaki ezinokuthi ziqokelelwe kuluhlu olwahlukileyo:

  • Uzibeka njani iinkonzo ezicwangcisiweyo ngokuzinzileyo kuqaliso lwenode?
  • Ukushiya i-node kwi-cluster - yintoni onokuyenza ukuba i-node ibanjwe iinkonzo?
  • Yintoni onokuyenza ukuba umnxibelelanisi utshintshile?
  • Kufuneka wenze ntoni ukuba umxhasi uphinda aqhagamshele kwiqela?
  • Ngaba izicelo zokuvula/zokuvalwa kufuneka ziqwalaselwe kwaye njani?
  • Kuthekani ukuba babize ukutshatyalaliswa kwe-cache, kwaye sineenkonzo zobudlelwane ezibotshelelwe kuyo?

Kwaye akuphelelanga apho.

Isisombululo

Njengokujoliswe kuko, sikhethe indlela yokuqhutywa koMnyhadala ngokuphunyezwa kwenkqubo yonxibelelwano kusetyenziswa imiyalezo. Ignite sele iphumeza amacandelo amabini avumela iindawo zokuthumela imiyalezo phakathi kwazo - unxibelelwano-spi kunye nokufumanisa-spi.

Ignite Service Grid - Qalisa kwakhona

Unxibelelwano-spi luvumela ii-nodes ukuba zinxibelelane ngokuthe ngqo kwaye zigqithise imiyalezo. Ifaneleka kakuhle ukuthumela amanani amakhulu edatha. I-Discovery-spi ikuvumela ukuba uthumele umyalezo kuzo zonke iindawo ezikuluhlu. Ekuphunyezweni okusemgangathweni, oku kwenziwa kusetyenziswa i-ring topology. Kukwakho ukudityaniswa kunye neZookeeper, kule meko kusetyenziswa itopology yeenkwenkwezi. Enye inqaku elibalulekileyo ekufuneka liqatshelwe kukuba ukufumanisa-spi kunika iziqinisekiso zokuba umyalezo ngokuqinisekileyo uya kuhanjiswa ngendlela echanekileyo kuzo zonke iindawo.

Makhe sijonge iprotocol yokuthunyelwa. Zonke izicelo zomsebenzisi zokusasazwa kunye nokungasetyenziswa zithunyelwa nge-discovery-spi. Oku kunika oku kulandelayo iqinisekisa:

  • Isicelo siya kufunyanwa kuzo zonke iindawo ezikuluhlu. Oku kuya kuvumela isicelo ukuba siqhubeke nokucubungula xa umququzeleli etshintsha. Oku kukwathetha ukuba kumyalezo omnye, indawo nganye iya kuba nayo yonke imetadata eyimfuneko, efana noqwalaselo lwenkonzo kunye nemizekelo yayo elandelelanisiweyo.
  • Ukucwangciswa okungqongqo kokuhanjiswa komyalezo kunceda ukusombulula iingxabano zoqwalaselo kunye nezicelo ezikhuphisanayo.
  • Ekubeni i-node yokungena kwi-topology iphinda iqhutywe ngokufunyanwa-spi, i-node entsha iya kufumana yonke idatha efunekayo ekusebenzeni kunye neenkonzo.

Xa isicelo sifunyenwe, ii-nodes kwiqela ziyasiqinisekisa kwaye zenze imisebenzi yokucubungula. Le misebenzi ibekwe emgceni ize iqhutywe komnye umsonto ngumsebenzi owahlukileyo. Iphunyezwa ngale ndlela ngenxa yokuba ukusasazwa kunokuthatha ixesha elininzi kwaye kulibazise ukuqukuqela okufunyanisiweyo okuxabisa kakhulu ngokunganyamezelekiyo.

Zonke izicelo ezisuka kumgca ziqwalaselwe ngumphathi wosasazo. Inomsebenzi okhethekileyo otsala umsebenzi kulo mgca kwaye awuqalise ukuba uqalise ukusasazwa. Emva koko, oku kulandelayo kwenzeka:

  1. NONE
  2. IiNodes zivelisa umyalezo kunye neziphumo zokuthunyelwa kwaye zithumele kumququzeleli.
  3. Umnxibelelanisi udibanisa yonke imiyalezo kwaye enze isiphumo senkqubo yonke yokusasazwa, ethunyelwa nge-discovery-spi kuzo zonke iindawo ezikwiqela.
  4. Xa umphumo ufunyenwe, inkqubo yokuthunyelwa iphela, emva koko umsebenzi ususwe kumgca.

Ignite Service Grid - Qalisa kwakhona
Uyilo olutsha oluqhutywa kumsitho: org.apache.ignite.internal.processors.service.IgniteServiceProcessor.java

Ukuba kukho impazamo ngexesha lokuthunyelwa, i-node ibandakanya ngokukhawuleza le mpazamo kumyalezo owuthumelayo kumququzeleli. Emva kokuhlanganiswa komyalezo, umnxibelelanisi uya kuba nolwazi malunga nazo zonke iimpazamo ngexesha lokuthunyelwa kwaye uya kuthumela lo myalezo ngokufunyanwa-spi. Ulwazi lwempazamo luya kufumaneka nakweyiphi na indawo kwiqela.

Zonke iziganeko ezibalulekileyo kwiGridi yeNkonzo zicutshungulwa ngokusebenzisa le algorithm yokusebenza. Umzekelo, ukutshintsha i-topology ikwangumyalezo ngokufunyanwa-spi. Kwaye ngokubanzi, xa kuthelekiswa nangaphambili, iprotocol yabonakala ilula kwaye ithembekile. Kwanele ukusingatha nayiphi na imeko ngexesha lokuthunyelwa.

Kuza kwenzeka ntoni emva koko

Ngoku malunga nezicwangciso. Naluphi na utshintsho olukhulu kwiprojekthi ye-Ignite lugqitywa njengenyathelo lokuphucula i-Ignite, elibizwa ngokuba yi-IEP. Uyilo ngokutsha lweGridi yeNkonzo nayo ine-IEP - IEP #17 ngesihloko esihlekisayo esithi "Utshintsho lweoyile kwiGridi yeNkonzo". Kodwa enyanisweni, asizange sitshintshe i-oyile ye-injini, kodwa injini yonke.

Sahlulahlula imisebenzi kwi-IEP yazizigaba ezi-2. Eyokuqala sisigaba esiphambili, esibandakanya ukusetyenzwa kwakhona kweprotocol yokuthunyelwa. Sele ifakiwe kwinkosi, unokuzama iGridi yeNkonzo entsha, eya kuvela kwinguqulo 2.8. Inqanaba lesibini libandakanya eminye imisebenzi emininzi:

  • Ukusasazwa ngokutsha okushushu
  • Uguqulelo lwenkonzo
  • Ukunyuka kokunyamezela iimpazamo
  • Umxhasi obhityileyo
  • Izixhobo zokubeka iliso nokubala iimetriki ezahlukeneyo

Okokugqibela, sinokukucebisa kwiGridi yeNkonzo yokwakha ukunyamezela iimpazamo, iinkqubo zokufumaneka okuphezulu. Siyakumema ukuba usityelele apha dev-uluhlu ΠΈ uluhlu lwabasebenzisi yabelana ngamava akho. Amava akho abaluleke ngokwenene kuluntu; kuya kukunceda ukuba uqonde ukuba ungaya phi ngokulandelayo, indlela yokuphuhlisa icandelo kwixesha elizayo.

umthombo: www.habr.com

Yongeza izimvo