Ignite Grid Sabis - Sake yi

A ranar 26 ga Fabrairu, mun gudanar da taron Apache Ignite GreenSource, inda masu ba da gudummawa ga budaddiyar aikin suka yi magana. Apache Ignite. Wani muhimmin al'amari a rayuwar wannan al'umma shi ne sake fasalin bangaren Ignite Service Grid, wanda ke ba ka damar tura microservices na al'ada kai tsaye cikin gungu na Ignite. Ya yi magana game da wannan mawuyacin tsari a taron Vyacheslav Daradur, injiniyan software da mai ba da gudummawar Apache Ignite sama da shekaru biyu.

Ignite Grid Sabis - Sake yi

Bari mu fara da abin da Apache Ignite yake gabaɗaya. Wannan ma'adanin bayanai ne wanda aka rarraba Maɓalli/Ma'ajiyar ƙimar tare da goyan bayan SQL, ma'amala da caching. Bugu da kari, Ignite yana ba ku damar tura ayyukan al'ada kai tsaye cikin gungu na Ignite. Mai haɓakawa yana da damar yin amfani da duk kayan aikin da Ignite ke bayarwa - tsarin rarraba bayanai, Saƙo, Yawo, Lissafi da Grid Data. Misali, lokacin amfani da Grid Data, matsalar gudanar da keɓancewar kayan aikin don adana bayanai kuma, sakamakon haka, farashin sama da ƙasa da aka samu ya ɓace.

Ignite Grid Sabis - Sake yi

Amfani da API Grid ɗin Sabis, zaku iya tura sabis ta hanyar ƙayyadaddun tsarin turawa kawai kuma, don haka, sabis ɗin kanta a cikin tsarin.

Yawanci, makircin turawa nuni ne na adadin lokuta da ya kamata a tura su a kan nodes ɗin tari. Akwai nau'ikan tsarin turawa guda biyu. Na farko shine Cluster Singleton: a kowane lokaci, misali ɗaya na sabis na mai amfani yana da tabbacin samuwa a cikin gungu. Na biyu shine Node Singleton: ana tura misalin sabis ɗin akan kowane kullin gungu.

Ignite Grid Sabis - Sake yi

Hakanan mai amfani zai iya ƙididdige adadin misalan sabis a cikin duka tari kuma ya ayyana maƙasudi don tace nodes masu dacewa. A cikin wannan yanayin, Grid ɗin Sabis da kansa zai lissafta mafi kyawun rarraba don tura sabis.

Bugu da kari, akwai irin wannan fasalin kamar Sabis na Affinity. Affinity aiki ne da ke bayyana alakar maɓallai zuwa ɓangarori da alakar ƙungiyoyi zuwa nodes a cikin topology. Yin amfani da maɓalli, zaku iya tantance kullin farko wanda aka adana bayanan. Ta wannan hanyar zaku iya haɗa sabis ɗin ku tare da maɓalli da ma'ajin aikin alaƙa. Idan aikin zumunci ya canza, sakewa ta atomatik zai faru. Ta wannan hanyar, sabis ɗin zai kasance koyaushe yana kasancewa kusa da bayanan da yake buƙata don sarrafa su, kuma, don haka, rage yawan wuce gona da iri na samun bayanai. Ana iya kiran wannan makirci irin nau'in lissafin da aka tattara.

Yanzu da muka gano menene kyawun Grid ɗin Sabis, bari muyi magana game da tarihin ci gabanta.

Abin da ya faru a baya

Aikin da ya gabata na Grid ɗin Sabis ya dogara ne akan tsarin ma'amalar Ignite da aka kwafi. Kalmar "cache" a cikin Ignite tana nufin ajiya. Wato wannan ba wani abu ba ne na ɗan lokaci, kamar yadda kuke tunani. Duk da cewa cache ɗin ana maimaitawa kuma kowane kumburi ya ƙunshi dukkan saitin bayanai, a cikin cache ɗin yana da wakilcin rabe. Wannan ya faru ne saboda haɓakar ajiya.

Ignite Grid Sabis - Sake yi

Menene ya faru lokacin da mai amfani ya so tura sabis ɗin?

  • Duk nodes a cikin gungu sun yi rajista don sabunta bayanai a cikin ma'ajiyar ta amfani da ginanniyar hanyar Tambayoyi Ci gaba.
  • Ƙunƙwalwar ƙaddamarwa, a ƙarƙashin ma'amala da aka karanta, ta yi rikodin a cikin bayanan da ke ɗauke da tsarin sabis, gami da misalan jeri.
  • Lokacin da aka sanar da sabon shigarwa, mai gudanarwa ya ƙididdige rarraba bisa ga daidaitawa. Sakamakon abin da aka rubuta an mayar da shi zuwa bayanan bayanai.
  • Idan kumburi yana cikin rabon, mai gudanarwa dole ne ya tura shi.

Abin da bai dace da mu ba

A wani lokaci mun zo ga ƙarshe: wannan ba shine hanyar aiki tare da ayyuka ba. Akwai dalilai da yawa.

Idan wasu kurakurai sun faru a lokacin turawa, to za'a iya gano shi kawai daga rajistan ayyukan kullin inda komai ya faru. An yi jigilar asynchronous kawai, don haka bayan dawo da sarrafawa ga mai amfani daga hanyar turawa, an buƙaci ƙarin lokaci don fara sabis - kuma a wannan lokacin mai amfani ya kasa sarrafa komai. Domin ƙara haɓaka Grid ɗin Sabis, ƙirƙirar sabbin abubuwa, jawo sabbin masu amfani da sauƙaƙe rayuwar kowa, wani abu yana buƙatar canzawa.

Lokacin zayyana sabon Grid ɗin Sabis, da farko muna so mu ba da garantin aika aiki tare: da zaran mai amfani ya dawo sarrafawa daga API, zai iya amfani da sabis nan take. Na kuma so in bai wa mai farawa ikon magance kurakuran turawa.

Bugu da ƙari, ina so in sauƙaƙe aiwatarwa, wato, nisantar ma'amaloli da sake daidaitawa. Duk da cewa cache yana maimaitawa kuma babu daidaitawa, matsalolin sun taso a lokacin babban aiki tare da nodes da yawa. Lokacin da topology ya canza, nodes suna buƙatar musayar bayanai, kuma tare da babban jigilar kaya, wannan bayanan na iya yin nauyi da yawa.

Lokacin da topology ba ta da ƙarfi, mai gudanarwa ya buƙaci sake ƙididdige rarraba ayyukan. Kuma gabaɗaya, lokacin da dole ne kuyi aiki tare da ma'amaloli akan topology mara ƙarfi, wannan na iya haifar da kurakurai masu wahala-zuwa tsinkaya.

Matsalolin

Menene canje-canjen duniya ba tare da rakiyar matsalolin ba? Na farko daga cikin waɗannan shine canji a cikin topology. Kuna buƙatar fahimtar cewa a kowane lokaci, ko da a lokacin tura sabis, kumburi na iya shiga ko barin gungu. Bugu da ƙari, idan a lokacin ƙaddamar da kumburin ya haɗu da gungu, zai zama dole a ci gaba da canja wurin duk bayanai game da ayyukan zuwa sabon kumburi. Kuma muna magana ba kawai game da abin da aka riga aka tura ba, har ma game da ayyukan yanzu da na gaba.

Wannan ɗaya ɗaya ne daga cikin matsalolin da za a iya tattarawa a cikin jeri daban:

  • Yadda ake tura ayyukan da aka saita a tsaye a farawa node?
  • Barin kumburi daga gungu - menene za a yi idan kumburin ya karɓi sabis?
  • Me za a yi idan mai gudanarwa ya canza?
  • Me zai yi idan abokin ciniki ya sake haɗawa da tari?
  • Shin ana buƙatar aiwatar da buƙatun kunnawa / kashewa kuma ta yaya?
  • Idan sun yi kira don lalata cache, kuma muna da sabis na alaƙa da ke da alaƙa da shi?

Kuma ba duka ba ne.

yanke shawara

A matsayin maƙasudi, mun zaɓi tsarin Gudanar da Event tare da aiwatar da hanyar sadarwa ta hanyar amfani da saƙonni. Ignite ya riga ya aiwatar da sassa biyu waɗanda ke ba da damar nodes don tura saƙonni a tsakanin su - sadarwa-spi da discovery-spi.

Ignite Grid Sabis - Sake yi

Sadarwa-spi yana ba da damar nodes don sadarwa kai tsaye da tura saƙonni. Ya dace sosai don aika bayanai masu yawa. Discovery-spi yana ba ku damar aika saƙo zuwa duk nodes a cikin tari. A cikin daidaitaccen aiwatarwa, ana yin wannan ta amfani da topology na zobe. Hakanan akwai haɗin kai tare da Zookeeper, a wannan yanayin ana amfani da topology tauraro. Wani muhimmin batu da ya kamata a lura shi ne cewa gano-spi yana ba da tabbacin cewa ba shakka za a isar da saƙon cikin tsari daidai ga duk nodes.

Mu duba ka'idar tura aiki. Ana aika duk buƙatun mai amfani don turawa da rashin aiki ta hanyar gano-spi. Wannan yana ba da waɗannan garanti:

  • Za a karɓi buƙatun ta duk nodes a cikin tari. Wannan zai ba da damar buƙatar ta ci gaba da aiki lokacin da mai gudanarwa ya canza. Wannan kuma yana nufin cewa a cikin saƙo ɗaya, kowane kulli zai sami duk mahimman bayanan metadata, kamar tsarin sabis da misalan sa.
  • Tsayayyen oda na isar da saƙo yana taimakawa warware rikice-rikicen daidaitawa da buƙatun gasa.
  • Tun da shigar kumburin cikin topology kuma ana sarrafa shi ta hanyar gano-spi, sabon kumburin zai karɓi duk bayanan da ake buƙata don aiki tare da ayyuka.

Lokacin da aka karɓi buƙata, nodes a cikin gungu suna inganta shi kuma ƙirƙirar ayyukan sarrafawa. Wadannan ayyuka ana yin layi sannan a sarrafa su a wani zaren ta wani ma'aikaci na daban. Ana aiwatar da shi ta wannan hanya saboda turawa na iya ɗaukar lokaci mai yawa kuma yana jinkirta tafiyar bincike mai tsada ba tare da jurewa ba.

Duk buƙatun daga jerin gwano ana sarrafa su ta mai sarrafa turawa. Yana da ma'aikaci na musamman wanda ya zare aiki daga wannan jerin gwanon kuma ya fara aiki don fara turawa. Bayan wannan, ayyuka masu zuwa suna faruwa:

  1. Kowane kumburi da kansa yana ƙididdige rarrabawa da kansa godiya ga sabon ƙayyadaddun ayyuka na ƙididdigewa.
  2. Nodes suna samar da saƙo tare da sakamakon turawa kuma aika zuwa mai gudanarwa.
  3. Mai gudanarwa yana tattara duk saƙonni kuma yana haifar da sakamakon gabaɗayan aikin turawa, wanda aka aika ta hanyar gano-spi zuwa duk nodes a cikin tari.
  4. Lokacin da aka karɓi sakamakon, tsarin ƙaddamarwa ya ƙare, bayan haka an cire aikin daga jerin gwano.

Ignite Grid Sabis - Sake yi
Sabuwar ƙira da aka kora: org.apache.ignite.internal.processors.service.IgniteServiceProcessor.java

Idan kuskure ya faru yayin turawa, kumburin nan da nan ya haɗa da wannan kuskuren a cikin saƙon da ta aika zuwa mai gudanarwa. Bayan tara saƙo, mai gudanarwa zai sami bayanai game da duk kurakurai yayin turawa kuma zai aika wannan saƙo ta hanyar gano-spi. Za a sami bayanin kuskure akan kowane kumburi a cikin tari.

Dukkan muhimman abubuwan da ke faruwa a cikin Grid ɗin Sabis ana sarrafa su ta amfani da wannan algorithm mai aiki. Misali, canza topology shima sako ne ta hanyar gano-spi. Kuma gabaɗaya, idan aka kwatanta da abin da yake a da, ƙa'idar ta zama mai sauƙi kuma abin dogaro. Isasshen ɗaukar kowane yanayi yayin turawa.

Me zai faru a gaba

Yanzu game da tsare-tsaren. Duk wani babban canji ga aikin Ignite an kammala shi azaman shirin haɓaka Ignite, wanda ake kira IEP. Sake fasalin Grid ɗin Sabis shima yana da IEP - IEP #17 tare da taken ba'a "canjin mai a cikin Grid ɗin Sabis". Amma a gaskiya, ba mu canza man inji ba, amma dukan injin.

Mun raba ayyuka a cikin IEP zuwa matakai 2. Na farko babban lokaci ne, wanda ya ƙunshi sake yin aiki da ƙa'idar turawa. An riga an haɗa shi a cikin maigidan, zaku iya gwada sabon Grid ɗin Sabis, wanda zai bayyana a cikin sigar 2.8. Mataki na biyu ya ƙunshi ayyuka da yawa:

  • Zafi sake turawa
  • Sigar sabis
  • Haƙuri na kuskure
  • Babban abokin ciniki
  • Kayan aiki don saka idanu da ƙididdige ma'auni daban-daban

A ƙarshe, za mu iya ba ku shawara akan Grid ɗin Sabis don gina tsarin jure rashin kuskure, babban wadatar tsarin. Muna kuma gayyatar ku da ku ziyarce mu a dev-list и jerin masu amfani raba gwaninta. Kwarewar ku tana da matukar mahimmanci ga al'umma; zai taimaka muku fahimtar inda zaku matsa gaba, yadda zaku haɓaka sashin a nan gaba.

source: www.habr.com

Add a comment