Ignite Service Grid - Qala hape

Ka la 26 Hlakola, re ile ra tšoara kopano ea Apache Ignite GreenSource, moo batšehetsi ba morero oa mohloli o bulehileng ba ileng ba bua. Apache Ignite. Ketsahalo ea bohlokoa bophelong ba sechaba sena e bile ho hlophisoa bocha ha karolo Hotetsa Grid ea Tšebeletso, e u lumellang hore u sebelise li-microservices tse tloaelehileng ka ho toba sehlopheng sa Ignite. O buile ka ts'ebetso ena e thata kopanong Vyacheslav Daradur, moenjiniere oa software le mofani oa Apache Ignite ka lilemo tse fetang tse peli.

Ignite Service Grid - Qala hape

Ha re qale ka seo Apache Ignite e leng sona ka kakaretso. Ena ke database e ajoang Key / Value polokelo ka tšehetso bakeng sa SQL, transactionality le caching. Ntle le moo, Ignite e u lumella ho kenya lits'ebeletso tsa moetlo ka kotloloho ho sehlopha sa Ignite. Moqapi o na le phihlello ea lisebelisoa tsohle tseo Ignite e fanang ka tsona - meaho e ajoang ea data, Melaetsa, Phallo, Compute le Data Grid. Ka mohlala, ha u sebelisa Data Grid, bothata ba ho fana ka lisebelisoa tse fapaneng bakeng sa polokelo ea data, 'me ka lebaka leo, litšenyehelo tse phahameng tse hlahisoang li nyamela.

Ignite Service Grid - Qala hape

U sebelisa API ea Grid ea Ts'ebeletso, u ka tsamaisa ts'ebeletso ka ho hlakisa leano la phepelo, ka hona, ts'ebeletso ka boeona e hlophisitsoeng.

Ka tloaelo, leano la ho romelloa ke sesupo sa palo ea maemo a lokelang ho sebelisoa ho li-cluster node. Ho na le mekhoa e 'meli e tloaelehileng ea ho romela. Ea pele ke Cluster Singleton: ka nako efe kapa efe, mohlala o le mong oa ts'ebeletso ea mosebelisi o netefalitsoe hore o tla fumaneha sehlopheng. Ea bobeli ke Node Singleton: mohlala o le mong oa ts'ebeletso o sebelisoa sebakeng se seng le se seng sa sehlopha.

Ignite Service Grid - Qala hape

Mosebelisi a ka boela a bolela palo ea lits'ebeletso tsa lits'ebeletso sehlopheng sohle mme a hlalosa predicate bakeng sa ho sefa li-node tse loketseng. Boemong bona, Grid ea Ts'ebeletso ka boeona e tla bala kabo e nepahetseng bakeng sa ho tsamaisa lits'ebeletso.

Ho phaella moo, ho na le tšobotsi e kang Affinity Service. Kamano ke ts'ebetso e hlalosang kamano ea linotlolo ho likaroloana le kamano ea lihlopha ho nodes ho topology. U sebelisa senotlolo, u ka tseba node ea mantlha eo data e bolokiloeng ho eona. Ka tsela ena o ka amahanya ts'ebeletso ea hau le senotlolo le cache ea ts'ebetso ea kamano. Haeba ts'ebetso ea affinity e fetoha, ho tla sebelisoa hape ka boiketsetso. Ka tsela ena, ts'ebeletso e tla lula e le haufi le data eo e e hlokang ho e laola, 'me, ka hona, e fokotsa boholo ba ho fumana tlhahisoleseling. Morero ona o ka bitsoa mofuta oa khomphutha e kopaneng.

Kaha joale re se re fumane hore na botle ba Grid ea Tšebeletso ke eng, a re ke re bue ka histori ea eona ea tsoelo-pele.

Se etsahetseng pele

Ts'ebetso e fetileng ea Grid ea Ts'ebeletso e ne e ipapisitse le cache ea sistimi e phetoang ea Ignite. Lentsoe "cache" ho Ignite le bolela polokelo. Ke hore, sena ha se ntho ea nakoana, joalo ka ha u ka nahana. Ho sa tsotellehe taba ea hore cache e phetoa 'me node e' ngoe le e 'ngoe e na le data eohle e behiloeng, ka hare ho cache e na le setšoantšo se arohaneng. Sena se bakoa ke ntlafatso ea polokelo.

Ignite Service Grid - Qala hape

Ho etsahetse'ng ha mosebelisi a batla ho tsamaisa litšebeletso?

  • Li-node tsohle ka har'a sehlopha li ngolisitse ho nchafatsa data polokelong ho sebelisoa mochini o hahelletsoeng oa Continuous Query.
  • Node ea ho qala, tlas'a ts'ebetso e entsoeng ka ho bala, e entse rekoto sebakeng sa polokelo ea litaba se nang le tlhophiso ea lits'ebeletso, ho kenyelletsa le mohlala oa serialized.
  • Ha mohokahanyi a tsebisoa ka keno e ncha, o ile a bala kabo ho latela tlhophiso. Sephetho se ile sa ngolloa ho khutlisetsoa polokelong ea litaba.
  • Haeba node e ne e le karolo ea kabo, mohokahanyi o ne a lokela ho e sebelisa.

Se neng se sa re tšoanele

Ka nako e 'ngoe re fihletse qeto: ena hase tsela ea ho sebetsa le litšebeletso. Ho ne ho e-na le mabaka a ’maloa.

Haeba phoso e itseng e etsahetse nakong ea ho romelloa, e ka fumanoa feela ho tsoa ho li-log tsa node moo ntho e 'ngoe le e' ngoe e etsahetseng teng. Ho ne ho e-na le ts'ebetso ea asynchronous feela, kahoo ka mor'a ho khutlisetsa taolo ho mosebedisi ho tloha mokhoeng oa ho romelloa, ho ne ho hlokahala nako e 'ngoe e eketsehileng ho qala tšebeletso - 'me nakong ena mosebedisi o ne a sitoa ho laola letho. E le hore u ntlafatse Grid ea Tšebeletso ho ea pele, theha likarolo tse ncha, hohela basebelisi ba bacha le ho nolofatsa bophelo ba motho e mong le e mong, ho na le ntho e lokelang ho fetoha.

Ha re theha Grid e ncha ea Ts'ebeletso, pele ho tsohle re ne re batla ho fana ka tiiso ea ho tsamaisoa ha synchronous: hang ha mosebelisi a khutlisa taolo ho tsoa ho API, o ne a ka sebelisa lits'ebeletso hang-hang. Ke ne ke boetse ke batla ho fa motho ea qalang bokhoni ba ho sebetsana le liphoso tsa thomello.

Ho phaella moo, ke ne ke batla ho nolofatsa ts'ebetsong, e leng, ho tloha ho li-transactions le ho rebalancing. Ho sa tsotellehe taba ea hore cache e phetoa 'me ha ho na ho leka-lekanya, mathata a ile a hlaha nakong ea ts'ebetso e kholo e nang le li-node tse ngata. Ha topology e fetoha, li-node li hloka ho fapanyetsana tlhahisoleseling, 'me ka phano e kholo, data ena e ka ba boima haholo.

Ha topology e sa tsitsa, mohokahanyi o ne a hloka ho bala bocha kabo ea litšebeletso. 'Me ka kakaretso, ha u tlameha ho sebetsa le litšebelisano holim'a topology e sa tsitsang, sena se ka lebisa ho liphoso tse thata ho bolela esale pele.

Mathata

Liphetoho tsa lefatše ke life ntle le mathata a tsamaeang le tsona? Ea pele ho tsena e bile phetoho thutong ea maemo a holimo. U lokela ho utloisisa hore ka nako leha e le efe, esita le nakong ea ho tsamaisoa ha tšebeletso, node e ka kena kapa ea tloha sehlopheng. Ho feta moo, haeba nakong ea ho romelloa node e kopanya sehlopha, ho tla hlokahala hore kamehla u fetise boitsebiso bohle ka litšebeletso ho node e ncha. 'Me ha re bue feela ka se seng se rometsoe, empa hape le ka li-deployments tsa hona joale le tsa nakong e tlang.

Ena ke e 'ngoe ea mathata a ka bokelloang lethathamong le arohaneng:

  • Joang ho tsamaisa lits'ebeletso tse hlophisitsoeng hantle ha u qala node?
  • Ho tlohela node ho tloha sehlopheng - seo u lokelang ho se etsa haeba litšebeletso tsa node li tšoaroa?
  • Seo u lokelang ho se etsa haeba mohokahanyi a fetohile?
  • Seo a lokelang ho se etsa haeba moreki a hokela sehlopheng hape?
  • Na likopo tsa ho kenya tšebetsong/deactivation li hloka ho sebetsoa le joang?
  • Ho thoe'ng haeba ba ne ba batla tšenyo ea cache, 'me re na le litšebeletso tse amanang le eona?

Mme ha se phetho.

u etsa qeto ea

Joalo ka sepheo, re ile ra khetha mokhoa oa Event Driven ka ho kenya tšebetsong puisano ea tšebetso ka ho sebelisa melaetsa. Ignite e se e ntse e sebelisa likarolo tse peli tse lumellang li-node ho fetisa melaetsa har'a bona - puisano-spi le discovery-spi.

Ignite Service Grid - Qala hape

Puisano-spi e lumella li-node ho buisana ka ho toba le ho fetisa melaetsa. E loketse hantle bakeng sa ho romella lintlha tse ngata. Discovery-spi e u lumella ho romella molaetsa ho li-node tsohle ka har'a sehlopha. Ts'ebetsong e tloaelehileng, sena se etsoa ho sebelisoa ring topology. Ho boetse ho na le kopano le Zookeeper, tabeng ena ho sebelisoa topology ea linaleli. Ntlha e 'ngoe ea bohlokoa eo re lokelang ho e ela hloko ke hore discovery-spi e fana ka tiiso ea hore molaetsa o tla fanoa ka tatellano e nepahetseng ho li-node tsohle.

Ha re shebeng protocol ea deployment. Likopo tsohle tsa basebelisi tsa ho romelloa le ho se sebelisoe li romelloa ka discovery-spi. Sena se fana ka se latelang tiisa:

  • Kopo e tla amoheloa ke li-node tsohle sehlopheng. Sena se tla lumella kopo hore e tsoele pele ho sebetsa ha mohokahanyi a fetoha. Sena se boetse se bolela hore molaetseng o le mong, node ka 'ngoe e tla ba le metadata e hlokahalang, joalo ka tlhophiso ea litšebeletso le mohlala oa eona oa serialized.
  • Taelo e tiileng ea ho fana ka melaetsa e thusa ho rarolla likhohlano tsa tlhophiso le likopo tse hlolisanoang.
  • Kaha ho kena ha node ho topology ho boetse ho sebetsoa ka ho sibolla-spi, node e ncha e tla fumana lintlha tsohle tse hlokahalang bakeng sa ho sebetsa le litšebeletso.

Ha kopo e amoheloa, li-node ka har'a sehlopha li e netefatsa le ho etsa mesebetsi ea ho sebetsa. Mesebetsi ena e behiloe moleng ebe e sebetsoa ka khoele e 'ngoe ke mosebeletsi ea arohaneng. E kengoa tšebetsong ka tsela ena hobane thomello e ka nka nako e ngata mme ea liehisa phallo e theko e boima ea sibollo ka mokhoa o sa mamelleheng.

Likopo tsohle tse tsoang moleng li sebetsoa ke mookameli oa thomello. E na le mosebeletsi ea khethehileng ea hulang mosebetsi moleng ona ebe oa o qala ho qala ho romelloa. Ka mor'a sena, liketso tse latelang li etsahala:

  1. Node e 'ngoe le e' ngoe e bala ka boithaopo kabo ea kabo ho ts'ebetso e ncha ea kabelo.
  2. Li-node li hlahisa molaetsa o nang le liphetho tsa ho romelloa ebe o o romela ho mohokahanyi.
  3. Mohokahanyi o bokella melaetsa eohle mme o hlahisa sephetho sa ts'ebetso eohle ea phetisetso, e rometsoeng ka discovery-spi ho li-node tsohle tse sehlopheng.
  4. Ha sephetho se amoheloa, mokhoa oa ho tsamaisa o fela, ka mor'a moo mosebetsi o tlosoa moleng.

Ignite Service Grid - Qala hape
Moralo o mocha o tsamaisoang ke ketsahalo: org.apache.ignite.internal.processors.service.IgniteServiceProcessor.java

Haeba phoso e etsahala nakong ea ho romelloa, node hang-hang e kenyelletsa phoso ena molaetsa oo o o romelang ho mohokahanyi. Kamora ho kopanngoa ha molaetsa, mohokahanyi o tla ba le leseli mabapi le liphoso tsohle nakong ea ho romelloa mme o tla romella molaetsa ona ka discovery-spi. Lintlha tsa phoso li tla fumaneha node efe kapa efe sehlopheng.

Liketsahalo tsohle tsa bohlokoa ho Grid ea Ts'ebeletso li sebetsoa ho sebelisoa algorithm ena ea ts'ebetso. Mohlala, ho fetola topology le eona ke molaetsa ka discovery-spi. 'Me ka kakaretso, ha e bapisoa le se neng se le pele, protocol e ile ea bonahala e le bobebe ebile e ka tšeptjoa. Ho lekane ho sebetsana le boemo leha e le bofe nakong ea ho romelloa.

Ho tla etsahalang kamora moo

Joale ka merero. Phetoho efe kapa efe e kholo ho projeke ea Ignite e phetheloa joalo ka boikitlaetso ba ntlafatso ea Ignite, e bitsoang IEP. Ho hlophisoa bocha ha Grid ea Ts'ebeletso ho boetse ho na le IEP - IEP #17 ka sehlooho se somang "Phetoho ea oli ho Grid ea Tšebeletso". Empa ha e le hantle, ha rea ​​ka ra fetola oli ea enjene, empa enjene eohle.

Re arola mesebetsi ho IEP ka mekhahlelo e 'meli. Ea pele ke mohato o moholo, o kenyelletsang ho lokisa protocol ea deployment. E se e kenyelelitsoe ho monghali, o ka leka Grid e ncha ea Tšebeletso, e tla hlaha ho version 2. Karolo ea bobeli e kenyelletsa mesebetsi e meng e mengata:

  • Hot redeploy
  • Phetolelo ea litšebeletso
  • Keketseho ea mamello ea liphoso
  • Moreki o mosesaane
  • Lisebelisoa tsa ho beha leihlo le ho bala metrics e fapaneng

Qetellong, re ka u eletsa ho Grid ea Ts'ebeletso bakeng sa ho aha litsamaiso tse mamellang liphoso, tse fumanehang haholo. Re boetse re u mema hore u re etele ho lethathamo la dev и lenane la basebelisi arolelana phihlelo ea hau. Boiphihlelo ba hau bo bohlokoa haholo sechabeng; bo tla u thusa ho utloisisa hore na u ka ea kae, mokhoa oa ho nts'etsapele karolo nakong e tlang.

Source: www.habr.com

Eketsa ka tlhaloso