Ignite Service Grid - Yambitsaninso

Pa february 26, tidachita msonkhano wa Apache Ignite GreenSource, pomwe opereka nawo gawo lotseguka adalankhula. Apache Ignite. Chochitika chofunikira m'moyo wa anthu ammudzi chinali kukonzanso gawoli Ignite Service Grid, zomwe zimakulolani kuti mutumize ma microservices anu mwachindunji mu gulu la Ignite. Analankhula za ndondomeko yovutayi pamsonkhano Vyacheslav Daradur, injiniya wamapulogalamu komanso wothandizira wa Apache Ignite kwa zaka zopitilira ziwiri.

Ignite Service Grid - Yambitsaninso

Tiyeni tiyambe ndi zomwe Apache Ignite ali ambiri. Iyi ndi nkhokwe yachinsinsi yomwe imagawidwa yosungiramo Key / Value ndi chithandizo cha SQL, transactionality ndi caching. Kuphatikiza apo, Ignite imakulolani kuti mutumize mautumiki omwe mumakonda mwachindunji kugulu la Ignite. Wopanga mapulogalamuwa ali ndi mwayi wopeza zida zonse zomwe Ignite amapereka - zogawidwa za data, Mauthenga, Kuthamanga, Compute ndi Data Grid. Mwachitsanzo, mukamagwiritsa ntchito Data Grid, vuto loyang'anira malo ena osungiramo data ndipo, chifukwa chake, ndalama zomwe zimatuluka zimasowa.

Ignite Service Grid - Yambitsaninso

Pogwiritsa ntchito Service Grid API, mutha kutumiza ntchitoyo mwa kungotchula dongosolo lotumizira ndipo, motero, ntchitoyo payokha.

Kawirikawiri, ndondomeko yotumizira ndi chisonyezero cha chiwerengero cha zochitika zomwe ziyenera kutumizidwa pamagulu amagulu. Pali mitundu iwiri yofananira yotumizira. Yoyamba ndi Cluster Singleton: nthawi ina iliyonse, gawo limodzi la ntchito ya ogwiritsa ntchito limatsimikizika kuti lipezeka mgululi. Yachiwiri ndi Node Singleton: chitsanzo chimodzi chautumiki chimayikidwa pamagulu onse.

Ignite Service Grid - Yambitsaninso

Wogwiritsa ntchito amatha kufotokozeranso kuchuluka kwa zochitika pagulu lonse ndikutanthauzira predicate yosefera ma node oyenera. Munthawi imeneyi, Service Grid yokha iwerengera kugawa koyenera kwa ntchito zotumizira.

Kuphatikiza apo, pali gawo ngati Affinity Service. Kugwirizana ndi ntchito yomwe imatanthawuza mgwirizano wa makiyi ku magawo ndi mgwirizano wa maphwando ndi mfundo mu topology. Pogwiritsa ntchito kiyi, mutha kudziwa node yoyamba yomwe deta imasungidwa. Mwanjira iyi mutha kugwirizanitsa ntchito yanu ndi makiyi ndi ma affinity function cache. Ngati ntchito yolumikizana isintha, kutumizidwanso kwadzidzidzi kudzachitika. Mwanjira iyi, ntchitoyi idzakhala nthawi zonse pafupi ndi deta yomwe ikufunika kuti iwonongeke, ndipo, motero, kuchepetsa kuwonjezereka kwa chidziwitso. Chiwembu ichi angatchedwe mtundu collocated kompyuta.

Tsopano popeza tazindikira kukongola kwa Utumiki wa Grid, tiyeni tikambirane za mbiri yake yachitukuko.

Zomwe zidachitika kale

Kukhazikitsa koyambirira kwa Service Grid kudakhazikitsidwa pa cache ya Ignite yobwerezabwereza. Mawu oti "cache" mu Ignite amatanthauza kusungirako. Ndiko kuti, ichi sichinthu chakanthawi, monga momwe mungaganizire. Ngakhale kuti cache imabwerezedwanso ndipo node iliyonse imakhala ndi deta yonse, mkati mwa cache ili ndi chiwonetsero chogawidwa. Izi ndichifukwa chakukhathamiritsa kosungirako.

Ignite Service Grid - Yambitsaninso

Kodi chinachitika ndi chiyani pamene wogwiritsa ntchito akufuna kutumiza ntchitoyo?

  • Ma node onse omwe ali mgululi adalembetsa kuti asinthe zomwe mwasungiramo pogwiritsa ntchito makina a Continuous Query.
  • Node yoyambira, pansi pa kuwerengera kowerengedwa, idalemba mu nkhokwe yomwe inali ndi kasinthidwe ka ntchito, kuphatikiza zochitika zosawerengeka.
  • Atadziwitsidwa za kulowa kwatsopano, wogwirizanitsa anawerengera kugawa kutengera kasinthidwe. Chotsatiracho chinalembedwanso ku database.
  • Ngati node inali gawo la kugawa, wogwirizanitsa amayenera kuyiyika.

Zomwe sizinatikomere

Panthawi ina tinafika pamapeto: iyi si njira yogwirira ntchito ndi mautumiki. Panali zifukwa zingapo.

Ngati cholakwika china chinachitika panthawi yotumiza, ndiye kuti chitha kupezeka kuchokera ku zipika za node pomwe zonse zidachitika. Panali kokha kutumizidwa kwa asynchronous, kotero pambuyo pobwezera ulamuliro kwa wogwiritsa ntchito kuchokera ku njira yotumizira, nthawi yowonjezera inafunika kuti ayambe ntchito - ndipo panthawiyi wogwiritsa ntchito sakanatha kulamulira chilichonse. Kuti mupange Grid ya Utumiki mowonjezereka, pangani zatsopano, kukopa ogwiritsa ntchito atsopano ndikupangitsa moyo wa aliyense kukhala wosavuta, chinachake chiyenera kusintha.

Popanga Grid yatsopano ya Utumiki, choyamba tinkafuna kupereka chitsimikizo cha kutumizidwa kwa synchronous: mwamsanga pamene wogwiritsa ntchito abwereranso ku API, amatha kugwiritsa ntchito ntchito nthawi yomweyo. Ndinkafunanso kupatsa woyambitsayo luso lothana ndi zolakwika zotumizira.

Kuphatikiza apo, ndimafuna kufewetsa kukhazikitsa, ndiko kuti, kuchoka pazogulitsa ndikukonzanso. Ngakhale kuti cache imabwerezedwanso ndipo palibe kulinganiza, mavuto adabuka panthawi yotumizidwa kwakukulu ndi mfundo zambiri. Pamene topology imasintha, node amafunika kusinthana zambiri, ndipo ndi kutumizidwa kwakukulu, deta iyi ikhoza kulemera kwambiri.

Pamene topology inali yosakhazikika, wogwirizanitsa anafunika kuwerengeranso kagawidwe ka ntchito. Ndipo kawirikawiri, pamene mukuyenera kugwira ntchito ndi zochitika pa topology yosakhazikika, izi zingayambitse zolakwika zovuta kulosera.

Mavuto

Kodi kusintha kwapadziko lonse ndi kotani popanda mavuto? Choyamba mwa izi chinali kusintha kwa topology. Muyenera kumvetsetsa kuti nthawi iliyonse, ngakhale panthawi yotumizidwa, node ikhoza kulowa kapena kuchoka m'gululo. Komanso, ngati panthawi yotumizira node ikulowa mgululi, padzakhala kofunikira kusamutsa zonse zokhudzana ndi mautumiki ku node yatsopano. Ndipo sitikulankhula za zomwe zatumizidwa kale, komanso zazomwe zikuchitika komanso zamtsogolo.

Ili ndi limodzi mwamavuto omwe angasonkhanitsidwe pamndandanda wosiyana:

  • Momwe mungagwiritsire ntchito mautumiki okhazikika poyambira ma node?
  • Kusiya mfundo kuchokera pagulu - choti uchite ngati node ikuchitidwa ntchito?
  • Zoyenera kuchita ngati wogwirizanitsa wasintha?
  • Zoyenera kuchita ngati kasitomala alumikizanso gululo?
  • Kodi zopempha zoyambitsa / kuyimitsa ziyenera kukonzedwa bwanji?
  • Nanga bwanji ngati atayitanitsa chiwonongeko cha cache, ndipo tili ndi mautumiki ogwirizana nawo?

Ndipo si zokhazo.

chisankho

Monga chandamale, tinasankha njira Yoyendetsedwa ndi Zochitika ndikukhazikitsa njira yolumikizirana pogwiritsa ntchito mauthenga. Ignite imagwiritsa ntchito zida ziwiri zomwe zimalola ma node kutumiza mauthenga pakati pawo - kulumikizana-spi ndi discovery-spi.

Ignite Service Grid - Yambitsaninso

Communication-spi imalola ma node kuti azilankhulana mwachindunji ndi kutumiza mauthenga. Ndizoyenera kutumiza deta yambiri. Discovery-spi imakupatsani mwayi wotumiza uthenga kumagulu onse omwe ali mgululi. Pakukhazikitsa kokhazikika, izi zimachitika pogwiritsa ntchito mphete ya mphete. Palinso kuphatikizana ndi Zookeeper, pamenepa ndi topology ya nyenyezi imagwiritsidwa ntchito. Mfundo ina yofunika kukumbukira ndi yakuti discovery-spi imapereka chitsimikizo kuti uthengawo udzaperekedwa moyenerera ku node zonse.

Tiyeni tiwone protocol ya deployment. Zopempha zonse za ogwiritsa ntchito kuti atumizidwe ndi kusatumizidwa zimatumizidwa kudzera pa discovery-spi. Izi zimapereka zotsatirazi zimatsimikizira:

  • Pempho lidzalandiridwa ndi node zonse mumagulu. Izi zidzalola kuti pempholi lipitilize kukonza pamene wogwirizanitsa asintha. Izi zikutanthawuzanso kuti mu uthenga umodzi, node iliyonse idzakhala ndi metadata yofunikira, monga kasinthidwe ka ntchito ndi zochitika zake zosawerengeka.
  • Kukonza mosamalitsa kutumiza uthenga kumathandiza kuthetsa mikangano ya kasinthidwe ndi zopempha zopikisana.
  • Popeza kuti kulowa kwa node mu topology kumakonzedwanso kudzera pa discovery-spi, node yatsopano idzalandira deta yonse yofunikira kuti igwire ntchito ndi mautumiki.

Pempho likalandiridwa, ma node omwe ali mgulu amatsimikizira ndikupanga ntchito zokonzekera. Ntchitozi zimatsatiridwa pamzere ndikusinthidwa mu ulusi wina ndi wogwira ntchito wina. Zimakhazikitsidwa motere chifukwa kutumiza kumatha kutenga nthawi yochulukirapo ndikuchedwetsa kutulukira kokwera mtengo kwambiri.

Zopempha zonse kuchokera pamzere zimakonzedwa ndi woyang'anira ntchito. Ili ndi antchito apadera omwe amakoka ntchito kuchokera pamzerewu ndikuyiyambitsa kuti iyambe kutumizidwa. Pambuyo pake, zotsatirazi zimachitika:

  1. Node iliyonse imawerengera pawokha kugawa chifukwa cha ntchito yatsopano yogawa.
  2. Ma Node amapanga uthenga ndi zotsatira za kutumizidwa ndikutumiza kwa wogwirizanitsa.
  3. Wogwirizanitsa amaphatikiza mauthenga onse ndikupanga zotsatira za njira yonse yotumizira, yomwe imatumizidwa kudzera pa discovery-spi kumagulu onse a gulu.
  4. Chotsatiracho chikalandiridwa, ntchito yotumizira imatha, pambuyo pake ntchitoyi imachotsedwa pamzere.

Ignite Service Grid - Yambitsaninso
Mapangidwe atsopano oyendetsedwa ndi zochitika: org.apache.ignite.internal.processors.service.IgniteServiceProcessor.java

Ngati cholakwika chikachitika panthawi yotumiza, node nthawi yomweyo imaphatikizapo cholakwika ichi mu uthenga womwe umatumiza kwa wogwirizanitsa. Pambuyo pophatikiza mauthenga, wogwirizanitsa adzakhala ndi chidziwitso chokhudza zolakwika zonse panthawi yotumiza ndipo adzatumiza uthengawu kudzera pa discovery-spi. Zolakwika zitha kupezeka pa node iliyonse mu cluster.

Zochitika zonse zofunika mu Gridi ya Utumiki zimakonzedwa pogwiritsa ntchito ndondomekoyi. Mwachitsanzo, kusintha topology ndi uthenga kudzera pa discovery-spi. Ndipo kawirikawiri, poyerekeza ndi zomwe zinali kale, ndondomekoyi inakhala yopepuka komanso yodalirika. Zokwanira kuthana ndi vuto lililonse panthawi yotumiza.

Chomwe chichitike pambuyo pake

Tsopano za mapulani. Kusintha kwakukulu kulikonse ku polojekiti ya Ignite kumatsirizidwa ngati njira yowongola, yotchedwa IEP. Kukonzanso kwa Gridi ya Utumiki kulinso ndi IEP - IEP #17 ndi mutu wonyoza "Kusintha kwa Mafuta mu Gridi ya Utumiki". Koma kwenikweni, sitinasinthe mafuta a injini, koma injini yonse.

Tinagawa ntchito mu IEP mu magawo awiri. Choyamba ndi gawo lalikulu, lomwe limaphatikizapo kukonzanso ndondomeko yotumizira. Idaphatikizidwa kale mbuye, mutha kuyesa Grid yatsopano ya Utumiki, yomwe idzawonekere mu mtundu 2. Gawo lachiwiri lili ndi ntchito zina zambiri:

  • Hot redeploy
  • Kumasulira kwa utumiki
  • Kuchulukitsa kulolerana kwa zolakwika
  • Wowonda kasitomala
  • Zida zowunikira ndikuwerengera ma metric osiyanasiyana

Pomaliza, titha kukulangizani pa Service Grid pomanga makina olekerera zolakwika, opezeka kwambiri. Tikukupemphaninso kuti mutichezere pa dev-list ΠΈ mndandanda wa ogwiritsa gawanani zomwe mwakumana nazo. Zomwe mukukumana nazo ndizofunika kwambiri kwa anthu ammudzi, zikuthandizani kumvetsetsa komwe mungapite, momwe mungapangire gawolo mtsogolo.

Source: www.habr.com

Kuwonjezera ndemanga