Gbanye grid ọrụ - Malitegharịa

Na Febụwarị 26, anyị nwere nzukọ Apache Ignite GreenSource, ebe ndị nyere aka na ọrụ mepere emepe kwuru okwu. Apache Ignite. Otu ihe dị mkpa na ndụ obodo a bụ nhazigharị nke akụrụngwa Gbanye grid ọrụ, nke na-enye gị ohere ibuga microservices omenala ozugbo n'ime ụyọkọ Ignite. O kwuru banyere usoro a siri ike na nzukọ ahụ Vyacheslav Daradur, Injinia ngwanrọ na onye nkwado Apache Ignite ihe karịrị afọ abụọ.

Gbanye grid ọrụ - Malitegharịa

Ka anyị malite na ihe Apache Ignite bụ n'ozuzu ya. Nke a bụ nchekwa data bụ nchekwa Key/Uru nke kesara na nkwado maka SQL, azụmahịa na caching. Na mgbakwunye, Ignite na-enye gị ohere ibuga ọrụ omenala ozugbo n'ime ụyọkọ Ignite. Onye nrụpụta nwere ohere ịnweta ngwaọrụ niile Ignite na-enye - nhazi data ekesara, Izi ozi, gụgharia, Kọmpụta na Grid data. Dịka ọmụmaatụ, mgbe ị na-eji Data Grid, nsogbu nke inye akụrụngwa dị iche maka nchekwa data yana, n'ihi ya, ọnụ ahịa n'elu ga-esi na ya pụta na-apụ n'anya.

Gbanye grid ọrụ - Malitegharịa

Iji Ọrụ Grid API, ị nwere ike ibuga ọrụ site na ịkọwapụta atụmatụ mbugharị na, yabụ, ọrụ ahụ n'onwe ya na nhazi ahụ.

Dị ka ọ na-adịkarị, atụmatụ mbugharị bụ ihe na-egosi ọnụọgụ ikpe a ga-etinye na ọnụ ụyọkọ. Enwere atụmatụ mbugharị abụọ a na-ahụkarị. Nke mbụ bụ ụyọkọ Singleton: n'oge ọ bụla, otu ihe atụ nke ọrụ onye ọrụ ga-adị na ụyọkọ. Nke abụọ bụ Node Singleton: otu ihe atụ nke ọrụ ka etinyere na ọnụ ụyọkọ ọ bụla.

Gbanye grid ọrụ - Malitegharịa

Onye ọrụ nwekwara ike ezipụta ọnụ ọgụgụ nke oge ọrụ na ụyọkọ dum wee kọwapụta predicate maka nzacha ọnụ ọnụ dabara adaba. N'ọnọdụ a, Grid Service n'onwe ya ga-agbakọ nkesa kacha mma maka ibuga ọrụ.

Na mgbakwunye, enwere njirimara dị ka Affinity Service. Affinity bụ ọrụ na-akọwa mmekọrịta nke igodo na nkebi na mmekọrịta nke ndị ọzọ na ọnụ na topology. Iji igodo ahụ, ị ​​nwere ike ikpebi ọnụ ụzọ nke echekwara data na ya. N'ụzọ dị otú a, ị nwere ike ijikọ ọrụ nke gị na igodo na cache ọrụ mmekọ. Ọ bụrụ na ọrụ mmekọ ahụ agbanwee, ntinyegharị akpaka ga-eme. N'ụzọ dị otú a, ọrụ ahụ ga-adị nso na data ọ chọrọ iji mee ihe, na, ya mere, belata oke nke ịnweta ozi. Enwere ike ịkpọ atụmatụ a ụdị kọmpụta agbakọtara.

Ugbu a anyị achọpụtala ihe ịma mma nke Grid Service bụ, ka anyị kwuo banyere akụkọ mmepe ya.

Ihe mere na mbụ

Mmejuputa iwu Grid Ọrụ gara aga dabere na cache sistemu azụmaahịa nke Ignite. Okwu "cache" na Ignite na-ezo aka na nchekwa. Ya bụ, nke a abụghị ihe nwa oge, dịka i nwere ike iche. N'agbanyeghị na a na-emegharị cache na ọnụ nke ọ bụla nwere usoro data niile, n'ime cache ahụ nwere ihe nnọchianya nke kewara. Nke a bụ n'ihi njikarịcha nchekwa.

Gbanye grid ọrụ - Malitegharịa

Kedu ihe mere mgbe onye ọrụ chọrọ ibuga ọrụ ahụ?

  • Ọnụ niile dị na ụyọkọ a debanyere aha iji melite data na nchekwa site na iji usoro ajụjụ na-aga n'ihu arụnyere.
  • Ọnụ ụzọ mmalite, n'okpuru azụmahịa gụpụtara agụ, mere ndekọ na nchekwa data nke nwere nhazi ọrụ, gụnyere ihe atụ nke usoro.
  • Mgbe a mara ọkwa maka ntinye ọhụrụ, onye nhazi ahụ gbakọrọ nkesa dabere na nhazi ahụ. Edeghachiri ihe a rụpụtara na nchekwa data.
  • Ọ bụrụ na ọnụ bụ akụkụ nke nkesa, onye nhazi ga-ebunye ya.

Ihe na-adabaghị anyị

N'oge ụfọdụ anyị bịara na nkwubi okwu: nke a abụghị ụzọ na-arụ ọrụ na ọrụ. E nwere ọtụtụ ihe kpatara ya.

Ọ bụrụ na ụfọdụ njehie mere n'oge mbugharị, mgbe ahụ enwere ike ịchọta ya naanị site na ndekọ nke ọnụ ebe ihe niile mere. Enwere naanị mbugharị asynchronous, yabụ mgbe ị weghachitere onye ọrụ njikwa site na usoro mbugharị, achọrọ oge ọzọ iji malite ọrụ ahụ - na n'oge a onye ọrụ enweghị ike ijikwa ihe ọ bụla. Iji zụlite Grid ọrụ n'ihu, mepụta atụmatụ ọhụrụ, dọta ndị ọrụ ọhụrụ ma mee ka ndụ onye ọ bụla dịkwuo mfe, ihe kwesịrị ịgbanwe.

Mgbe ị na-emebe grid ọrụ ọhụrụ, anyị na mbụ chọrọ ịnye nkwa nke mbugharị n'otu oge: ozugbo onye ọrụ lọghachiri njikwa site na API, ọ nwere ike iji ọrụ ndị ahụ ozugbo. Achọkwara m inye onye mbido ikike ijikwa mperi nnabata.

Na mgbakwunye, achọrọ m ime ka mmejuputa ya dị mfe, ya bụ, pụọ na azụmahịa na ngbanwe. N'agbanyeghị eziokwu na a na-emegharị cache na enweghị nhazi, nsogbu bilitere n'oge nnukwu ntinye na ọtụtụ ọnụ. Mgbe topology na-agbanwe, ọnụ ụzọ kwesịrị ịgbanwe ozi, yana iji nnukwu ntinye, data a nwere ike ịdị arọ.

Mgbe topology anaghị akwụsi ike, onye nhazi ahụ kwesịrị ịtụgharị nkesa ọrụ. Na n'ozuzu, mgbe ị ga-arụ ọrụ na azụmahịa na topology na-ejighị n'aka, nke a nwere ike iduga njehie siri ike na-ebu amụma.

Nsogbu

Gịnị bụ mgbanwe zuru ụwa ọnụ na-enweghị nsogbu na-eso ya? Nke mbụ n'ime ihe ndị a bụ mgbanwe na topology. Ịkwesịrị ịghọta na n'oge ọ bụla, ọbụlagodi n'oge mbugharị ọrụ, ọnụ nwere ike ịbanye ma ọ bụ hapụ ụyọkọ ahụ. Ọzọkwa, ọ bụrụ na n'oge mbugharị ọnụ ọnụ na-esonye na ụyọkọ ahụ, ọ ga-adị mkpa ka ị na-ebufe ozi niile gbasara ọrụ ahụ na oghere ọhụrụ. Na anyị na-ekwu okwu ọ bụghị naanị banyere ihe etinyelarị, kamakwa maka ntinye ugbu a na n'ọdịnihu.

Nke a bụ naanị otu nsogbu enwere ike ịnakọta na ndepụta dị iche:

  • Otu esi ebuga ọrụ ahaziri ahazi na mmalite ọnụ?
  • Ịhapụ ọnụ site na ụyọkọ - kedu ihe ị ga-eme ma ọ bụrụ na ọnụ ụzọ akwadoro ọrụ?
  • Kedu ihe ị ga-eme ma ọ bụrụ na onye nhazi ahụ agbanweela?
  • Kedu ihe ị ga-eme ma ọ bụrụ na onye ahịa ahụ jikọọ ọzọ na ụyọkọ ahụ?
  • Ọ dị mkpa ka ahazi arịrịọ mmalite/mwepu yana kedu?
  • Kedu ihe ma ọ bụrụ na ha akpọọ maka mbibi cache, ma anyị nwere ọrụ mmekọrịta jikọtara na ya?

Ma nke ahụ abụghị naanị.

mkpebi

Dị ka ebumnobi, anyị họọrọ omume chụpụrụ omume na mmejuputa usoro nkwurịta okwu site na iji ozi. Ignite etinyelarị ihe abụọ na-enye ohere ohere iziga ozi n'etiti onwe ha - nkwukọrịta-spi na nchọpụta-spi.

Gbanye grid ọrụ - Malitegharịa

Nkwukọrịta-spi na-enye ohere ọnụ ka ekwurịta okwu ozugbo na zipu ozi. Ọ dabara nke ọma maka izipu oke data. Discovery-spi na-enye gị ohere izipu ozi na ọnụ ọnụ niile dị na ụyọkọ ahụ. Na mmejuputa ọkọlọtọ, a na-eme nke a site na iji topology mgbanaka. Enwekwara njikọ na Zookeeper, na nke a, a na-eji topology kpakpando. Isi ihe ọzọ dị mkpa kwesịrị iburu n'uche bụ na nchọpụta-spi na-ekwe nkwa na a ga-ezisa ozi ahụ n'usoro ziri ezi na ọnụ ụzọ niile.

Ka anyị leba anya n'usoro nnyekwasa. Arịrịọ onye ọrụ niile maka ibunye na enweghị ọrụ na-ezigara site na nchọpụta-spi. Nke a na-enye ihe ndị a na -ekwe nkwa:

  • Ọnụ niile dị na ụyọkọ ga-anata arịrịọ a. Nke a ga-ekwe ka arịrịọ ahụ gaa n'ihu nhazi mgbe onye nhazi ahụ gbanwere. Nke a pụtakwara na n'otu ozi, ọnụ ọ bụla ga-enwe metadata niile dị mkpa, dị ka nhazi ọrụ yana ihe atụ nke usoro ya.
  • Ịhazi nnyefe ozi siri ike na-enyere aka dozie esemokwu nhazi na arịrịọ asọmpi.
  • Ebe ọ bụ na a na-edozikwa ntinye ọnụ na topology site na nchọpụta-spi, oghere ọhụrụ ahụ ga-enweta data niile dị mkpa maka ịrụ ọrụ na ọrụ.

Mgbe enwetara arịrịọ, ọnụ ọnụ na ụyọkọ ahụ na-akwado ya ma mepụta ọrụ nhazi. A na-eke ọrụ ndị a kwụ n'ahịrị wee hazie ya na eri ọzọ site n'aka onye ọrụ dị iche. A na-emejuputa ya n'ụzọ dị otú a n'ihi na ibunye ọrụ nwere ike iwe oge dị ukwuu ma na-egbu oge nchọpụta dị oke ọnụ na-aga nke ọma.

Arịrịọ niile sitere na kwụ n'ahịrị site n'aka onye njikwa mbunye. O nwere onye ọrụ pụrụ iche nke na-ewepụta otu ọrụ n'ahịrị a wee malite ya ịmalite ibunye ya. Mgbe nke a gasịrị, omume ndị a na-eme:

  1. Ọnụ ọnụ nke ọ bụla na-agbakọ nkesa n'adabereghị na ekele maka ọrụ ọrụ deterministic ọhụrụ.
  2. Nodes na-ewepụta ozi nwere nsonaazụ nke nbunye ma ziga ya na onye nhazi.
  3. Onye nhazi na-achịkọta ozi niile wee wepụta nsonaazụ nke usoro mbugharị niile, nke ezigara site na nchọta-spi na ọnụ niile dị na ụyọkọ ahụ.
  4. Mgbe enwetara nsonaazụ ya, usoro ntinye ga-akwụsị, mgbe nke ahụ gasịrị, a na-ewepụ ọrụ ahụ na kwụ n'ahịrị.

Gbanye grid ọrụ - Malitegharịa
Ihe omume ọhụrụ chụpụrụ: org.apache.ignite.internal.processors.service.IgniteServiceProcessor.java

Ọ bụrụ na njehie emee n'oge mbugharị, ọnụ na-agụnye njehie a ozugbo na ozi ọ na-ezigara onye nhazi. Mgbe nchịkọta ozi gachara, onye nhazi ga-enwe ozi gbasara njehie niile n'oge mbugharị ma ziga ozi a site na nchọpụta-spi. Ozi mperi ga-adị na ọnụ ọ bụla dị na ụyọkọ ahụ.

A na-ahazi mmemme niile dị mkpa na Grid ọrụ site na iji algọridim ọrụ a. Dịka ọmụmaatụ, ịgbanwe topology bụkwa ozi site na nchọpụta-spi. Na n'ozuzu, ma e jiri ya tụnyere nke dị na mbụ, protocol ahụ wee bụrụ nke dị fechaa na nke a pụrụ ịdabere na ya. Zuru oke iji dozie ọnọdụ ọ bụla n'oge ntinye.

Kedu ihe ga -eme ọzọ

Ugbu a gbasara atụmatụ. A na-emecha mgbanwe ọ bụla na ọrụ Ignite dị ka atụmatụ nkwalite Ignite, nke a na-akpọ IEP. Nhazigharị grid ọrụ nwekwara IEP - IEP #17 na aha ịkwa emo "Mgbanwe mmanụ na Grid Ọrụ". Ma n'ezie, anyị agbanweghị mmanụ engine, ma dum engine.

Anyị kewara ọrụ ndị dị na IEP ụzọ abụọ. Nke mbụ bụ akụkụ dị mkpa, nke mejupụtara imegharị usoro nhazigharị. Ọ tinyelarị na nna ukwu, ị nwere ike ịnwale Grid ọrụ ọhụrụ, nke ga-apụta na ụdị 2. Usoro nke abụọ gụnyere ọtụtụ ọrụ ndị ọzọ:

  • Na-ekpo ọkụ redeploy
  • Ụdị ọrụ
  • Mmụba nnabata mmejọ
  • Onye ahịa dị mkpa
  • Ngwa maka nlekota na ịgbakọ metrik dị iche iche

N'ikpeazụ, anyị nwere ike nye gị ndụmọdụ na grid ọrụ maka iwulite mmejọ na-anabata usoro dị elu. Anyị na-akpọkwa gị ka ị bịa leta anyị na dev-ndepụta и ndepụta onye ọrụ kesaa ahụmịhe gị. Ahụmahụ gị dị ezigbo mkpa maka obodo ọ ga-enyere gị aka ịghọta ebe ị ga-aga na-esote, otu esi emepụta akụrụngwa n'ọdịnihu.

isi: www.habr.com

Tinye a comment