Ignite Service Grid - Qalisa kabusha

NgoFebhuwari 26, saba nomhlangano we-Apache Ignite GreenSource, lapho abahlanganyeli bephrojekthi yomthombo ovulekile bakhuluma khona. I-Apache Ignite. Isenzakalo esibalulekile empilweni yalo mphakathi kwaba ukuhlelwa kabusha kwengxenye Ignite Service Grid, okukuvumela ukuthi usebenzise ama-microservices ngokwezifiso ngqo ku-Ignite cluster. Ukhulume ngalolu hlelo olunzima emhlanganweni Vyacheslav Daradur, unjiniyela wesoftware kanye nomnikeli we-Apache Ignite iminyaka engaphezu kwemibili.

Ignite Service Grid - Qalisa kabusha

Ake siqale ngokuthi i-Apache Ignite iyini ngokujwayelekile. Lena isizindalwazi esiyisitoreji esisabalalisiwe esingukhiye/Inani esisekelwa i-SQL, transactional and caching. Ngaphezu kwalokho, i-Ignite ikuvumela ukuthi usebenzise izinsizakalo zangokwezifiso ngqo kuqoqo le-Ignite. Umthuthukisi unokufinyelela kuwo wonke amathuluzi ahlinzekwa yi-Ignite - izakhiwo zedatha esabalalisiwe, Imiyalezo, Ukusakaza, Ikhompiyutha kanye Negridi Yedatha. Isibonelo, uma usebenzisa i-Data Grid, inkinga yokuphatha ingqalasizinda ehlukile yokugcina idatha futhi, ngenxa yalokho, izindleko eziphezulu eziwumphumela ziyanyamalala.

Ignite Service Grid - Qalisa kabusha

Usebenzisa i-Service Grid API, ungakwazi ukuphakela isevisi ngokumane ucacise uhlelo lokuphakelwa futhi, ngokufanelekile, isevisi ngokwayo ekucushweni.

Ngokuvamile, isikimu sokuphakelwa siyinkomba yenani lezimo okufanele zisetshenziswe kuma-cluster node. Kunezinhlelo ezimbili ezijwayelekile zokuthunyelwa. Eyokuqala i-Cluster Singleton: nganoma isiphi isikhathi, isibonelo esisodwa sesevisi yomsebenzisi siqinisekiswa ukuthi sizotholakala kuqoqo. Eyesibili i-Node Singleton: isibonelo esisodwa sesevisi sisetshenziswa endaweni ngayinye yeqoqo.

Ignite Service Grid - Qalisa kabusha

Umsebenzisi angaphinda acacise inani lezimo zesevisi kulo lonke iqoqo futhi achaze isilandiso sokuhlunga izindawo ezifanele. Kulesi simo, Igridi Yesevisi ngokwayo izobala ukusabalalisa okuphelele kokuphakelwa kwezinsizakalo.

Ngaphezu kwalokho, kunesici esifana ne-Affinity Service. I-Affinity wumsebenzi ochaza ubudlelwano bokhiye bokuhlukanisa kanye nobudlelwano bamaqembu namanodi ku-topology. Usebenzisa ukhiye, ungakwazi ukunquma indawo eyinhloko lapho idatha egcinwa khona. Ngale ndlela ungakwazi ukuhlobanisa isevisi yakho nokhiye kanye nenqolobane yokusebenza kwe-affinity. Uma umsebenzi we-affinity ushintsha, ukuphinda kusetshenziswe okuzenzakalelayo kuzokwenzeka. Ngale ndlela, isevisi izohlale itholakala eduze kwedatha edinga ukuyilawula, futhi, ngokufanele, yehlise i-overhead yokufinyelela ulwazi. Lolu hlelo lungabizwa ngokuthi uhlobo lwe-computing ehlanganisiwe.

Manje njengoba sesitholile ukuthi buyini ubuhle beGridi Yesevisi, ake sikhulume ngomlando wayo wokuthuthuka.

Kwenzekani ngaphambili

Ukuqaliswa kwangaphambilini Kwegridi Yesevisi kwakusekelwe kunqolobane yesistimu yokuphindaphinda ye-Ignite. Igama elithi "inqolobane" ku-Ignite lisho isitoreji. Okungukuthi, lokhu akuyona into yesikhashana, njengoba ungase ucabange. Naphezu kweqiniso lokuthi inqolobane iphindwaphindwa futhi inodi ngayinye iqukethe yonke isethi yedatha, ngaphakathi kwenqolobane inomfanekiso ohlukanisiwe. Lokhu kungenxa yokulungiselelwa kwesitoreji.

Ignite Service Grid - Qalisa kabusha

Kwenzekeni lapho umsebenzisi efuna ukukhipha isevisi?

  • Wonke ama-node ku-cluster abhalisele ukubuyekeza idatha kusitoreji esebenzisa indlela eyakhelwe ngaphakathi Yombuzo Oqhubekayo.
  • I-node yokuqalisa, ngaphansi komsebenzi wokuzibophezela ofundiwe, yenza irekhodi kusizindalwazi esiqukethe ukulungiselelwa kwesevisi, okuhlanganisa nesenzakalo se-serialized.
  • Lapho aziswe ngokufakiwe okusha, umxhumanisi ubale ukusatshalaliswa ngokusekelwe ekucushweni. Into ewumphumela yabhalwa emuva kusizindalwazi.
  • Uma i-node ibiyingxenye yokusabalalisa, umxhumanisi kwakufanele ayithumele.

Yini eyayingasifanelanga

Ngesinye isikhathi safika esiphethweni: lena akuyona indlela yokusebenza nezinsizakalo. Kwakunezizathu eziningana.

Uma kwenzeka iphutha elithile ngesikhathi sokuthunyelwa, khona-ke lingatholakala kuphela kumalogi we-node lapho konke kwenzeke khona. Kube nokuthunyelwa okuvumelanayo kuphela, ngakho-ke ngemva kokubuyisela ukulawula kumsebenzisi kusuka endleleni yokuthunyelwa, isikhathi esengeziwe sasidingeka ukuze kuqalwe isevisi - futhi ngalesi sikhathi umsebenzisi akakwazanga ukulawula lutho. Ukuze uthuthukise iGridi Yesevisi ngokuqhubekayo, dala izici ezintsha, uhehe abasebenzisi abasha futhi wenze ukuphila kwawo wonke umuntu kube lula, kukhona okumele kushintshe.

Lapho siklama Igridi Yensizakalo entsha, okokuqala sasifuna ukunikeza isiqinisekiso sokuphakelwa okuvumelanayo: ngokushesha nje lapho umsebenzisi ebuyisela ukulawula ku-API, wayengasebenzisa ngokushesha amasevisi. Bengifuna futhi ukunika umqalisi ikhono lokusingatha amaphutha okuthunyelwa.

Ngaphezu kwalokho, bengifuna ukwenza lula ukuqaliswa, okungukuthi, ukubalekela ukuthengiselana nokulinganisa kabusha. Naphezu kokuthi i-cache iphindaphindiwe futhi akukho ukulinganisa, izinkinga zavela ngesikhathi sokuthunyelwa okukhulu ngama-node amaningi. Lapho i-topology ishintsha, ama-node adinga ukushintshanisa ulwazi, futhi ngokusetshenziswa okukhulu, le datha ingaba nesisindo esiningi.

Lapho i-topology ingazinzile, umxhumanisi kwakudingeka abale kabusha ukusatshalaliswa kwezinsizakalo. Futhi ngokuvamile, lapho kufanele usebenze ngokuthengiselana ku-topology engazinzile, lokhu kungaholela kumaphutha okunzima ukubikezela.

Izinkinga

Yiziphi izinguquko zomhlaba wonke ngaphandle kokuhambisana nezinkinga? Esokuqala salokhu kwaba ushintsho ku-topology. Udinga ukuqonda ukuthi nganoma yisiphi isikhathi, ngisho nangesikhathi sokuthunyelwa kwesevisi, i-node ingangena noma ishiye iqoqo. Ngaphezu kwalokho, uma ngesikhathi sokuthunyelwa i-node ijoyina iqoqo, kuzodingeka ukuthi udlulise ngokuqhubekayo lonke ulwazi mayelana nezinsizakalo ku-node entsha. Futhi asikhulumi kuphela ngalokho osekuthunyelwe kakade, kodwa futhi mayelana nokuthunyelwa kwamanje nokuzayo.

Lena enye yezinkinga ezingaqoqwa ohlwini oluhlukile:

  • Ungawafaka kanjani izinsiza ezimisiwe ekuqaleni kwe-node?
  • Ukushiya i-node kusuka ku-cluster - yini okufanele uyenze uma i-node isingathwe izinsizakalo?
  • Yini okufanele uyenze uma umxhumanisi eshintshile?
  • Yini okufanele yenziwe uma iklayenti liphinda lixhuma kuqoqo?
  • Ingabe izicelo zokuvula/ukuvala zidinga ukucutshungulwa futhi kanjani?
  • Kuthiwani uma befuna ukucekelwa phansi kwe-cache, futhi sinezinsizakalo ezihlangene eziboshelwe kukho?

Futhi akugcini lapho.

Isixazululo

Njengomgomo, sikhethe indlela Yokuqhutshwa Kwezehlakalo ngokusetshenziswa kwenqubo yokuxhumana kusetshenziswa imilayezo. I-Ignite isivele isebenzisa izingxenye ezimbili ezivumela ama-node ukuthi adlulisele imilayezo phakathi kwawo - ukuxhumana-spi kanye ne-discovery-spi.

Ignite Service Grid - Qalisa kabusha

I-Communication-spi ivumela ama-node ukuthi axhumane ngokuqondile futhi adlulisele imilayezo. Ifaneleka kahle ukuthumela inani elikhulu ledatha. I-Discovery-spi ikuvumela ukuthi uthumele umlayezo kuwo wonke ama-node kuqoqo. Ekusetshenzisweni okujwayelekile, lokhu kwenziwa kusetshenziswa i-ring topology. Kukhona futhi ukuhlanganiswa ne-Zookeeper, kulokhu kusetshenziswa i-star topology. Elinye iphuzu elibalulekile okufanele liphawulwe ukuthi i- discovery-spi inikeza iziqinisekiso zokuthi umlayezo nakanjani uzolethwa ngendlela efanele kuwo wonke ama-node.

Ake sibheke iphrothokholi yokuthunyelwa. Zonke izicelo zomsebenzisi zokusatshalaliswa nokungasebenzi zithunyelwa nge-discovery-spi. Lokhu kunikeza okulandelayo iziqinisekiso:

  • Isicelo sizotholwa yiwo wonke ama-node ku-cluster. Lokhu kuzovumela isicelo ukuthi siqhubeke sicutshungulwa lapho umxhumanisi eshintsha. Lokhu kusho futhi ukuthi kumlayezo owodwa, inodi ngayinye izoba nayo yonke imethadatha edingekayo, njengokucushwa kwesevisi kanye nesenzakalo sayo se-serialized.
  • Ukuhleleka okuqinile kokulethwa komlayezo kusiza ukuxazulula izingxabano zokucushwa kanye nezicelo eziqhudelanayo.
  • Njengoba ukungena kwe-node ku-topology kubuye kucutshungulwe nge-discovery-spi, i-node entsha izothola yonke idatha edingekayo ekusebenzeni nezinsizakalo.

Uma isicelo samukelwe, ama-node ku-cluster ayasiqinisekisa futhi enze imisebenzi yokucubungula. Le misebenzi ifakwa kulayini bese icutshungulwa komunye uchungechunge yisisebenzi esihlukile. Kwenziwa ngale ndlela ngoba ukuthunyelwa kungathatha isikhathi esiningi futhi kubambezele ukugeleza kokutholwa okubizayo ngendlela engabekezeleleki.

Zonke izicelo ezivela kulayini zicutshungulwa ngumphathi wokuthunyelwa. Inesisebenzi esikhethekile esidonsa umsebenzi kulo mugqa futhi siwuqalise ukuze uqale ukuthunyelwa. Ngemva kwalokhu, izenzo ezilandelayo zenzeka:

  1. Inodi ngayinye ibala ngokuzimela ukubonga kokusabalalisa kumsebenzi omusha wokunquma ozokwenziwa.
  2. Ama-Node akhiqiza umlayezo ngemiphumela yokuthunyelwa futhi awuthumele kumxhumanisi.
  3. Umxhumanisi uhlanganisa yonke imilayezo futhi akhiqize umphumela wayo yonke inqubo yokuphakelwa, ethunyelwa nge-discovery-spi kuwo wonke ama-node kuqoqo.
  4. Lapho umphumela wamukelwa, inqubo yokuthunyelwa iyaphela, ngemva kwalokho umsebenzi uyasuswa emgqeni.

Ignite Service Grid - Qalisa kabusha
Idizayini entsha eqhutshwa umcimbi: org.apache.ignite.internal.processors.service.IgniteServiceProcessor.java

Uma kwenzeka iphutha ngesikhathi sokuthunyelwa, i-node ihlanganisa ngokushesha leli phutha kumlayezo owuthumela kumxhumanisi. Ngemva kokuhlanganiswa komlayezo, umxhumanisi uzoba nolwazi mayelana nawo wonke amaphutha ngesikhathi sokuphakelwa futhi uzothumela lo mlayezo nge-discovery-spi. Ulwazi lwephutha luzotholakala kunoma iyiphi indawo kuqoqo.

Yonke imicimbi ebalulekile kuGridi Yesevisi icutshungulwa kusetshenziswa le-algorithm yokusebenza. Isibonelo, ukushintsha i-topology futhi kungumlayezo nge- discovery-spi. Futhi ngokuvamile, uma kuqhathaniswa nalokho okwakukhona ngaphambili, iphrothokholi ibonakale ingasindi futhi ithembekile. Kwanele ukusingatha noma yisiphi isimo ngesikhathi sokuthunyelwa.

Okuzolandela ngokulandelayo

Manje mayelana nezinhlelo. Noma yiluphi ushintsho olukhulu kuphrojekthi ye-Ignite luqedwa njengesinyathelo sokuthuthukisa i-Ignite, esibizwa nge-IEP. Ukwakhiwa kabusha kweGridi Yesevisi nakho kune-IEP - I-IEP #17 enesihloko esihlekisayo esithi β€œUkushintsha uwoyela kuGridi Yesevisi”. Kodwa empeleni, asizange sishintshe uwoyela wenjini, kodwa injini yonke.

Sihlukanise imisebenzi ku-IEP yaba izigaba ezi-2. Esokuqala yisigaba esikhulu, esihlanganisa ukusetshenzwa kabusha kwephrothokholi yokuthunyelwa. Isivele ifakiwe ku-master, ungazama Igridi Yesevisi entsha, ezovela kunguqulo 2.8. Isigaba sesibili sihlanganisa eminye imisebenzi eminingi:

  • Ukusetha kabusha okushisayo
  • Inguqulo yesevisi
  • Ukwanda kokubekezelelana kwamaphutha
  • Iklayenti elizacile
  • Amathuluzi okuqapha nokubala amamethrikhi ahlukahlukene

Okokugcina, singakweluleka kuGridi Yesevisi ukuze wakhe amasistimu abekezelela amaphutha, atholakala kakhulu. Sikumema futhi ukuthi usivakashele ku Uhlu lwe-dev ΠΈ uhlu lwabasebenzisi wabelane ngolwazi lwakho. Okuhlangenwe nakho kwakho kubaluleke kakhulu emphakathini; kuzokusiza ukuthi uqonde ukuthi uzohamba kuphi ngokulandelayo, ungayithuthukisa kanjani ingxenye ngokuzayo.

Source: www.habr.com

Engeza amazwana