Ignite Service Grid - Reboot

Musi waKukadzi 26, takaita musangano weApache Ignite GreenSource, uko vatsigiri vepurojekiti yakavhurika vakataura. Apache Ignite. Chiitiko chakakosha muhupenyu hwenharaunda iyi yaive kugadziridzwa kwechikamu Ignite Service Grid, iyo inokutendera kuti uise tsika microservices zvakananga muIgnite cluster. Akataura nezvemaitiro akaoma aya pamusangano Vyacheslav Daradur, software engineer uye Apache Ignite mubatsiri kweanopfuura makore maviri.

Ignite Service Grid - Reboot

Ngatitangei nei Apache Ignite iri mune zvese. Iri dhatabhesi iro rakagoverwa Kiyi / Kukosha kuchengetedza nerutsigiro rweSQL, transactionality uye caching. Mukuwedzera, Ignite inokutendera kuti utumire masevhisi etsika zvakananga muIgnite cluster. Iyo inovandudza inokwanisa kuwana ese maturusi anopihwa neIgnite - akagovera data zvimiro, Messaging, Kutenderera, Compute uye Data Grid. Semuyenzaniso, kana uchishandisa Data Grid, dambudziko rekutonga rakasiyana masisitimu ekuchengetedza data uye, semhedzisiro, inokonzeresa mutengo wepamusoro unopera.

Ignite Service Grid - Reboot

Uchishandisa iyo Service Grid API, unogona kuendesa sevhisi nekungotsanangura chirongwa chekuendesa uye, maererano, sevhisi pachayo mukugadzirisa.

Kazhinji, deployment scheme chiratidzo chehuwandu hwezviitiko zvinofanirwa kuiswa pane cluster node. Pane maviri anojairwa kutumirwa zvirongwa. Yekutanga ndeye Cluster Singleton: chero nguva yakapihwa, imwe muenzaniso yemushandisi sevhisi inovimbiswa kuwanikwa musumbu. Yechipiri iNode Singleton: imwe muenzaniso wesevhisi inoiswa pane imwe neimwe cluster node.

Ignite Service Grid - Reboot

Mushandisi anogona zvakare kutsanangura huwandu hwezviitiko zvesevhisi musumbu rese uye kutsanangura predicate yekusefa yakakodzera node. Mune mamiriro ezvinhu aya, Service Grid pachayo ichaverenga kugovera kwakaringana kwekutumira masevhisi.

Uye zvakare, pane chakadai seAffinity Service. Affinity ibasa rinotsanangura hukama hwekiyi kune zvikamu uye hukama hwemapato kune nodes mutopology. Uchishandisa kiyi, unogona kuona iyo yekutanga node inochengeterwa data. Nenzira iyi iwe unogona kubatanidza yako sevhisi nekiyi uye affinity basa cache. Kana iyo affinity function ikachinja, otomatiki redeployment ichaitika. Nenzira iyi, sevhisi ichagara iri padyo nedata rainoda kushandura, uye, maererano, kuderedza kuwanda kwekuwana ruzivo. Ichi chirongwa chinogona kunzi rudzi rwe collocated computing.

Zvino zvataona kuti kunaka kweSevhisi Grid chii, ngatitaure nezve nhoroondo yayo yebudiriro.

Chii chakaitika kare

Kuitwa kwekare kweSevhisi Grid kwaive kwakavakirwa paIgnite's transactional replicated system cache. Izwi rekuti "cache" muIgnite rinoreva kuchengetedza. Ndiko kuti, ichi hachisi chinhu chenguva pfupi, sezvaungafunga. Pasinei nenyaya yekuti cache inodzokororwa uye node yega yega ine data rese seti, mukati mecache ine inomiririra yakakamurwa. Izvi zvinokonzerwa nekuchengetedza optimization.

Ignite Service Grid - Reboot

Chii chakaitika apo mushandisi aida kutumira sevhisi?

  • Manodhi ese ari musumbu akanyoreswa kugadzirisa data mudura uchishandisa yakavakirwa-mukati Inoenderera Query mechanism.
  • Iyo yekutanga node, pasi pekuverenga-yakaitwa transaction, yakaita rekodhi mudhatabhesi yaive nesevhisi kumisikidzwa, kusanganisira iyo serialized chiitiko.
  • Paakaziviswa nezve nyowani nyowani, murongi akaverenga kugovera zvichienderana nekugadzirisa. Chinhu chakabuda chakanyorwa kumashure kune database.
  • Kana node yaive chikamu chekugovera, murongi aifanira kuiendesa.

Chii chisina kutikodzera

Pane imwe nguva takasvika pakugumisa: iyi haisi iyo nzira yekushanda nemasevhisi. Paiva nezvikonzero zvakawanda.

Kana imwe kukanganisa kwakaitika panguva yekutumirwa, saka inogona kungowanikwa kubva mumatanda eiyo node kwakaitika zvese. Paingova neasynchronous deployment, saka mushure mekudzorera kutonga kumushandisi kubva munzira yekuendesa, imwe nguva yekuwedzera yaidiwa kutanga sevhisi - uye panguva iyi mushandisi aisakwanisa kudzora chero chinhu. Kuti uwedzere kuenderera mberi kweBasa Grid, gadzira zvitsva, kukwezva vashandisi vatsva uye kuita kuti hupenyu hwemunhu wese huve nyore, chimwe chinhu chinoda kuchinja.

Paunenge uchigadzira iyo itsva Service Grid, isu kutanga pane zvese taida kupa vimbiso yekuchinjisa dhizaini: nekukurumidza kana mushandisi adzoka kutonga kubva kuAPI, aigona kushandisa masevhisi nekukurumidza. Ini ndaidawo kupa muvambi kugona kubata zvikanganiso zvekutumira.

Pamusoro pezvo, ini ndaida kurerutsa kuita, kureva, kubva pane zvekutengesa uye kuenzanisa. Kunyangwe chokwadi chekuti cache inodzokororwa uye hapana kuenzana, matambudziko akamuka panguva yekutumirwa kukuru nemanode akawanda. Kana iyo topology ichichinja, node dzinoda kuchinjanisa ruzivo, uye nekutumirwa kukuru, iyi data inogona kuyera yakawanda.

Kana iyo topology yakanga isina kugadzikana, murongi aifanira kuverengazve kugoverwa kwesevhisi. Uye kazhinji, kana iwe uchifanira kushanda nekutengeserana pane isina kugadzikana topology, izvi zvinogona kutungamirira kune zvakaoma-kufanotaura zvikanganiso.

Matambudziko

Ndedzipi shanduko dzepasi rose pasina matambudziko anoperekedza? Yekutanga yeiyi yaive shanduko yetopology. Iwe unofanirwa kunzwisisa kuti chero nguva, kunyangwe panguva yekuendesa sevhisi, node inogona kupinda kana kusiya sumbu. Uyezve, kana panguva yekuendesa iyo node inobatana neboka, zvichave zvakakosha kuti ugare uchiendesa ruzivo rwese nezvesevhisi kune node itsva. Uye isu hatisi kutaura chete nezve izvo zvakatoiswa kare, asiwo nezvezvino uye mune ramangwana deployments.

Iyi ingori imwe yematambudziko anogona kuunganidzwa mune yakaparadzana runyorwa:

  • Nzira yekuendesa sei statically configured services pakutanga node?
  • Kusiya node kubva kuboka - chii chekuita kana node yakabatwa masevhisi?
  • Chii chaunofanira kuita kana murongi akachinja?
  • Chii chaunofanira kuita kana mutengi akabatanidza zvakare kune cluster?
  • Ko activation / deactivation zvikumbiro zvinoda kugadziriswa uye sei?
  • Ko kana vakadaidza kuparadzwa kwecache, uye isu tine hukama masevhisi akasungirirwa kwairi?

Uye handizvo zvoga.

chisarudzo

Sechinangwa, takasarudza nzira yeChiitiko Inotungamirirwa nekuita kwemaitiro ekutaurirana tichishandisa mameseji. Ignite inotoshandisa zvikamu zviviri zvinobvumira node kutumira mameseji pakati pavo - kutaurirana-spi uye kuwanikwa-spi.

Ignite Service Grid - Reboot

Kukurukurirana-spi kunobvumira nodes kutaurirana zvakananga uye kutumira mameseji. Inonyatsokodzera kutumira huwandu hwakawanda hwe data. Discovery-spi inokutendera kuti utumire meseji kune ese node musumbu. Mukuita kwakajairwa, izvi zvinoitwa uchishandisa ring topology. Iko kune zvakare kubatanidzwa neZookeeper, mune iyi nyaya nyeredzi topology inoshandiswa. Imwe pfungwa yakakosha inofanirwa kucherechedzwa ndeyekuti kuwanikwa-spi kunopa vimbiso yekuti meseji ichaunzwa nenzira kwayo kune ese manode.

Ngatitarisei kune deployment protocol. Zvese zvikumbiro zvemushandisi zvekutumirwa uye kusatumirwa zvinotumirwa kuburikidza nekuwana-spi. Izvi zvinopa zvinotevera anovimbisa:

  • Chikumbiro chichagamuchirwa nemanodhi ese ari musumbu. Izvi zvinobvumira chikumbiro kuti chienderere mberi nekugadzirisa kana murongi achinja. Izvi zvinoreva zvakare kuti mune imwe meseji, imwe neimwe node ichave iine ese anodiwa metadata, senge sevhisi kumisikidzwa uye yayo serialized muenzaniso.
  • Kurongeka kwakasimba kwekutumira meseji kunobatsira kugadzirisa kusawirirana uye kukwikwidza zvikumbiro.
  • Sezvo iyo node yekupinda mutopology ichigadziriswa zvakare kuburikidza nekuwana-spi, iyo node nyowani inogashira data rese rinodiwa pakushanda nemasevhisi.

Kana chikumbiro chagamuchirwa, node dziri musumbu dzinoisimbisa uye kugadzira mabasa ekugadzirisa. Aya mabasa anoiswa mumutsara uye anozogadziriswa mune imwe shinda nemumwe mushandi. Inoitwa nenzira iyi nekuti kutumirwa kunogona kutora nguva yakakura uye kunonotsa kuyerera kunodhura kwekuwana kuyerera zvisingaite.

Zvese zvikumbiro kubva pamutsetse zvinogadziriswa nemutungamiriri wekutumira. Iine mushandi akakosha anokweva basa kubva mumutsara uyu uye aritangisa kuti ritange kutumirwa. Mushure meizvi, zviito zvinotevera zvinoitika:

  1. Imwe neimwe node yakazvimiririra inoverengera kugovera kuvonga kune itsva deterministic assignment function.
  2. Node dzinogadzira meseji ine mhedzisiro yekutumirwa uye inotumira kune murongi.
  3. Murongi anounganidza mameseji ese uye anogadzira mhedzisiro yezvese nzira yekuendesa, iyo inotumirwa kuburikidza nekuwana-spi kune ese nodes musumbu.
  4. Kana chigumisiro chikagamuchirwa, nzira yekuendesa inopera, mushure mokunge basa racho rinobviswa kubva pamutsara.

Ignite Service Grid - Reboot
Dhizaini nyowani inofambiswa nechiitiko: org.apache.ignite.internal.processors.service.IgniteServiceProcessor.java

Kana kukanganisa kukaitika panguva yekuendesa, iyo node inokurumidza inosanganisira kukanganisa uku mumeseji yainotumira kune murongi. Mushure memeseji kuunganidzwa, murongi achave neruzivo nezve zvikanganiso zvese panguva yekutumirwa uye anotumira meseji iyi kuburikidza nekuwana-spi. Ruzivo rwemhosho ruchawanikwa pane chero node musumbu.

Zviitiko zvese zvakakosha muSevhisi Grid zvinogadziriswa uchishandisa iyi inoshanda algorithm. Semuenzaniso, kushandura iyo topology zvakare meseji kuburikidza nekuwana-spi. Uye kazhinji, kana ichienzaniswa nezvaive kare, iyo protocol yakave yakareruka uye yakavimbika. Zvakakwana kubata chero mamiriro ezvinhu panguva yekutumirwa.

Chii chichaitika mberi

Zvino nezvezvirongwa. Chero shanduko huru kuIgnite purojekiti inopedzwa seIgnite yekuvandudza chirongwa, inodaidzwa kuti IEP. Iyo Service Grid redesign zvakare ine IEP - IEP #17 ine zita rekunyomba "Oil shanduko muGridhi Yebasa". Asi kutaura zvazviri, hatina kuchinja injini oiri, asi injini yose.

Isu takapatsanura mabasa muIEP muzvikamu zviviri. Yekutanga idanho rakakura, iro rinosanganisira kugadzirisazve dhizaini protocol. Yakatobatanidzwa mune tenzi, unogona kuedza iyo itsva Service Grid, iyo ichaonekwa muvhezheni 2. Chikamu chechipiri chinosanganisira mamwe akawanda mabasa:

  • Hot redeploy
  • Sevhisi shanduro
  • Kuwedzera kukanganisa kushivirira
  • Mutengi mutete
  • Zvishandiso zvekutarisa uye kuverenga akasiyana metrics

Chekupedzisira, isu tinogona kukupa zano paSevhisi Grid yekuvaka inoshivirira-inoshivirira, yakakwirira-inowanikwa masisitimu. Tinokukokawo kuti utishanyire pa dev-list ΠΈ user-list govera ruzivo rwako. Chiitiko chako chakakosha kunharaunda; zvichakubatsira iwe kunzwisisa kwekuenda kunotevera, maitiro ekugadzira chikamu mune ramangwana.

Source: www.habr.com

Voeg