Ignite Service Grid - Reboot

Thaum Lub Ob Hlis 26, peb tau tuav lub rooj sib tham Apache Ignite GreenSource, qhov twg cov neeg koom nrog rau qhov qhib qhov project tau hais Apache Ignite. Ib qho xwm txheej tseem ceeb hauv lub neej ntawm lub zej zog no yog qhov kev hloov kho ntawm cov khoom siv Ignite Service Grid, uas tso cai rau koj siv cov kev cai microservices ncaj qha rau hauv Ignite pawg. Nws hais txog cov txheej txheem nyuaj no ntawm kev sib ntsib Vyacheslav Daradur, software engineer thiab Apache Ignite contributor rau ntau tshaj ob xyoos.

Ignite Service Grid - Reboot

Cia peb pib nrog dab tsi Apache Ignite yog feem ntau. Qhov no yog qhov chaw khaws ntaub ntawv uas yog ib qho kev faib Key/Value cia nrog kev txhawb nqa rau SQL, kev hloov pauv thiab caching. Tsis tas li ntawd, Ignite tso cai rau koj siv cov kev pabcuam kev cai ncaj qha rau hauv pawg Ignite. Tus tsim tawm tau nkag mus rau txhua yam cuab yeej uas Ignite muab - faib cov ntaub ntawv qauv, Kev xa xov, Streaming, Compute thiab Data Grid. Piv txwv li, thaum siv Data Grid, qhov teeb meem ntawm kev tswj hwm cov txheej txheem sib cais rau cov ntaub ntawv khaws cia thiab, vim li ntawd, cov nqi nyiaj siv ua haujlwm ploj mus.

Ignite Service Grid - Reboot

Siv Cov Kev Pabcuam Grid API, koj tuaj yeem xa cov kev pabcuam los ntawm tsuas yog qhia txog cov txheej txheem xa tawm thiab, raws li, qhov kev pabcuam nws tus kheej hauv kev teeb tsa.

Feem ntau, ib txoj kev xa tawm yog qhov qhia txog tus lej ntawm cov xwm txheej uas yuav tsum tau siv rau ntawm pawg nodes. Muaj ob txoj kev xa tawm raws li ib txwm muaj. Thawj yog Cluster Singleton: nyob rau lub sijhawm twg los xij, ib qho piv txwv ntawm cov neeg siv kev pabcuam raug lees paub tias muaj nyob hauv pawg. Qhov thib ob yog Node Singleton: ib qho piv txwv ntawm cov kev pabcuam raug xa mus rau txhua pawg node.

Ignite Service Grid - Reboot

Tus neeg siv kuj tuaj yeem hais qhia tus naj npawb ntawm cov kev pabcuam hauv pawg tag nrho thiab txhais tau qhov kev ntsuas rau kev lim cov nodes haum. Hauv qhov xwm txheej no, Service Grid nws tus kheej yuav suav qhov kev faib tawm zoo tshaj plaws rau kev xa cov kev pabcuam.

Tsis tas li ntawd, muaj xws li ib tug feature xws li Affinity Service. Affinity yog ib txoj haujlwm uas txhais cov kev sib raug zoo ntawm cov yuam sij rau kev faib tawm thiab kev sib raug zoo ntawm ob tog rau cov nodes hauv topology. Siv tus yuam sij, koj tuaj yeem txiav txim siab qhov tseem ceeb ntawm cov ntaub ntawv khaws cia. Txoj kev no koj tuaj yeem koom nrog koj tus kheej cov kev pabcuam nrog tus yuam sij thiab kev sib koom ua haujlwm cache. Yog hais tias lub affinity muaj nuj nqi hloov, tsis siv neeg redeployment yuav tshwm sim. Txoj kev no, qhov kev pabcuam yuav ib txwm nyob ze rau cov ntaub ntawv nws xav tau los tswj, thiab, raws li, txo cov nyiaj siv ua haujlwm ntawm kev nkag mus rau cov ntaub ntawv. Cov txheej txheem no tuaj yeem hu ua ib hom kev sib koom ua ke.

Tam sim no peb tau pom tias qhov kev zoo nkauj ntawm Service Grid yog dab tsi, cia peb tham txog nws keeb kwm kev loj hlob.

Ua li cas ua ntej

Kev siv yav dhau los ntawm Service Grid yog raws li Ignite qhov kev hloov pauv hloov pauv qhov system cache. Lo lus "cache" hauv Ignite hais txog kev khaws cia. Ntawd yog, qhov no tsis yog ib ntus, raws li koj xav. Txawm tias muaj tseeb hais tias lub cache yog replicated thiab txhua node muaj tag nrho cov ntaub ntawv teev, nyob rau hauv lub cache nws muaj ib tug partitioned sawv cev. Qhov no yog vim kev cia optimization.

Ignite Service Grid - Reboot

Dab tsi tshwm sim thaum tus neeg siv xav xa cov kev pabcuam?

  • Tag nrho cov nodes hauv pawg tau sau npe los hloov kho cov ntaub ntawv hauv kev khaws cia siv lub tshuab txuas txuas txuas ntxiv.
  • Qhov pib ntawm node, nyob rau hauv kev nyeem-kev sib pauv, tau ua cov ntaub ntawv hauv cov ntaub ntawv uas muaj cov kev pabcuam teeb tsa, suav nrog cov piv txwv serialized.
  • Thaum ceeb toom txog kev nkag tshiab, tus neeg saib xyuas tau suav cov kev faib tawm raws li kev teeb tsa. Cov khoom tshwm sim tau sau rov qab rau hauv cov ntaub ntawv.
  • Yog hais tias ib lub node yog ib feem ntawm qhov kev faib tawm, tus coordinator yuav tsum xa mus rau nws.

Dab tsi tsis haum peb

Qee lub sij hawm peb tuaj txog qhov xaus: qhov no tsis yog txoj hauv kev ua haujlwm nrog cov kev pabcuam. Muaj ob peb lub laj thawj.

Yog tias qee qhov yuam kev tshwm sim thaum xa tawm, ces nws tsuas tuaj yeem pom los ntawm cov cav ntawm cov node qhov twg txhua yam tshwm sim. Tsuas muaj kev xa tawm asynchronous xwb, yog li tom qab rov qab tswj hwm rau tus neeg siv los ntawm txoj kev xa tawm, qee lub sijhawm ntxiv yuav tsum tau pib qhov kev pabcuam - thiab lub sijhawm no tus neeg siv tswj tsis tau dab tsi. Txhawm rau txhim kho Kev Pabcuam Grid ntxiv, tsim cov yam ntxwv tshiab, nyiam cov neeg siv tshiab thiab ua kom txhua tus neeg lub neej yooj yim dua, qee yam yuav tsum hloov.

Thaum tsim tus tshiab Service Grid, peb ua ntej ntawm tag nrho cov xav muab ib tug guarantee ntawm synchronous deployment: sai li sai tau raws li tus neeg siv rov qab tswj los ntawm API, nws tuaj yeem siv cov kev pabcuam tam sim ntawd. Kuv kuj xav muab tus pib muaj peev xwm los daws cov teeb meem xa mus.

Tsis tas li ntawd, kuv xav ua kom yooj yim rau kev siv, uas yog, kom deb ntawm kev lag luam thiab kev sib npaug. Txawm tias muaj tseeb hais tias lub cache yog replicated thiab tsis muaj kev sib npaug, teeb meem tshwm sim thaum lub sij hawm loj xa mus nrog ntau cov nodes. Thaum cov topology hloov pauv, cov nodes yuav tsum tau pauv cov ntaub ntawv, thiab nrog rau kev xa tawm loj, cov ntaub ntawv no tuaj yeem hnyav ntau.

Thaum lub topology tsis ruaj khov, tus neeg saib xyuas yuav tsum tau rov xam cov kev faib cov kev pabcuam. Thiab feem ntau, thaum koj yuav tsum ua haujlwm nrog kev lag luam ntawm qhov tsis ruaj khov topology, qhov no tuaj yeem ua rau nyuaj-rau-predict yuam kev.

Teeb meem

Kev hloov pauv thoob ntiaj teb yog dab tsi uas tsis muaj teeb meem nrog? Thawj ntawm cov no yog kev hloov pauv hauv topology. Koj yuav tsum nkag siab tias txhua lub sijhawm, txawm tias lub sijhawm ntawm kev xa tawm kev pabcuam, lub node tuaj yeem nkag lossis tawm hauv pawg. Ntxiv mus, yog hais tias thaum lub sij hawm ntawm deploy lub node koom nrog pawg, nws yuav tsum tau mus tas li hloov tag nrho cov ntaub ntawv hais txog cov kev pab cuam mus rau lub tshiab node. Thiab peb tab tom tham tsis yog hais txog dab tsi twb tau xa mus, tab sis kuj hais txog kev xa tawm tam sim no thiab yav tom ntej.

Qhov no tsuas yog ib qho teeb meem uas tuaj yeem sau rau hauv ib daim ntawv teev npe cais:

  • Yuav ua li cas xa cov kev pabcuam statically configured ntawm node startup?
  • Tawm ntawm ib qho ntawm pawg - yuav ua li cas yog tias cov node tuav cov kev pabcuam?
  • Yuav ua li cas yog tias tus neeg koom tes hloov pauv?
  • Yuav ua li cas yog tus neeg siv khoom rov txuas rau pawg?
  • Puas yuav tsum tau ua kom tiav / deactivation thov thiab ua li cas?
  • Yuav ua li cas yog tias lawv hu rau kev rhuav tshem cache, thiab peb muaj cov kev pabcuam affinity khi rau nws?

Thiab qhov ntawd tsis yog tag nrho.

kev txiav txim siab

Raws li lub hom phiaj, peb tau xaiv qhov kev tshwm sim Tsav mus kom ze nrog kev siv cov txheej txheem kev sib txuas lus siv cov lus. Ignite twb siv ob yam uas tso cai rau cov nodes xa xov ntawm lawv tus kheej - kev sib txuas lus-spi thiab discovery-spi.

Ignite Service Grid - Reboot

Kev sib txuas lus-spi tso cai rau cov nodes sib txuas lus ncaj qha thiab xa cov lus. Nws yog qhov zoo rau kev xa cov ntaub ntawv loj. Discovery-spi tso cai rau koj xa lus mus rau tag nrho cov nodes hauv pawg. Hauv kev siv tus qauv, qhov no yog ua tiav siv lub nplhaib topology. Kuj tseem muaj kev koom ua ke nrog Zookeeper, qhov no siv lub hnub qub topology. Lwm lub ntsiab lus tseem ceeb uas tsim nyog sau cia yog qhov kev tshawb pom-spi muab kev lees paub tias cov lus yuav twv yuav raug xa mus rau qhov tseeb rau txhua qhov.

Cia peb saib ntawm kev xa tawm raws tu qauv. Txhua tus neeg siv thov rau kev xa tawm thiab kev xa tawm tsis raug xa tawm ntawm discovery-spi. Qhov no muab cov hauv qab no lav:

  • Qhov kev thov yuav tau txais los ntawm tag nrho cov nodes hauv pawg. Qhov no yuav tso cai rau qhov kev thov txuas ntxiv ua haujlwm thaum tus neeg koom tes hloov pauv. Qhov no kuj txhais tau hais tias nyob rau hauv ib cov lus, txhua lub ntawm yuav muaj tag nrho cov metadata tsim nyog, xws li cov kev pab cuam configuration thiab nws serialized piv txwv.
  • Kev nruj me ntsis ntawm kev xa xov yuav pab daws teeb meem kev teeb tsa thiab kev sib tw thov.
  • Txij li cov node nkag mus rau hauv topology kuj tau ua tiav los ntawm kev tshawb pom-spi, cov node tshiab yuav tau txais tag nrho cov ntaub ntawv tsim nyog rau kev ua haujlwm nrog cov kev pabcuam.

Thaum tau txais qhov kev thov, cov nodes hauv pawg siv tau nws thiab tsim cov haujlwm ua haujlwm. Cov dej num no raug teem caij thiab tom qab ntawd ua tiav hauv lwm txoj xov los ntawm ib tus neeg ua haujlwm cais. Nws yog siv los ntawm txoj kev no vim tias kev xa tawm tuaj yeem siv sijhawm ntau thiab ncua qhov kev tshawb pom kim heev uas tsis tuaj yeem nkag mus.

Txhua qhov kev thov los ntawm cov kab yog ua tiav los ntawm tus thawj coj xa tawm. Nws muaj ib tug neeg ua hauj lwm tshwj xeeb uas rub ib txoj hauj lwm los ntawm cov kab no thiab pib nws pib xa mus. Tom qab ntawd, cov kev ua hauv qab no tshwm sim:

  1. Txhua qhov ntawm nws tus kheej suav qhov kev faib ua tsaug rau qhov kev txiav txim siab tshiab ua haujlwm.
  2. Nodes tsim cov lus nrog cov txiaj ntsig ntawm kev xa mus thiab xa mus rau tus neeg koom tes.
  3. Tus neeg ua haujlwm sib sau ua ke tag nrho cov lus thiab tsim cov txiaj ntsig ntawm tag nrho cov txheej txheem xa mus, uas yog xa los ntawm kev tshawb pom-spi mus rau tag nrho cov nodes hauv pawg.
  4. Thaum qhov tshwm sim tau txais, cov txheej txheem xa tawm xaus, tom qab uas cov haujlwm raug tshem tawm ntawm kab.

Ignite Service Grid - Reboot
Tshiab tsim-driven tsim: org.apache.ignite.internal.processors.service.IgniteServiceProcessor.java

Yog tias muaj teeb meem tshwm sim thaum xa mus, cov node tam sim ntawd suav nrog qhov yuam kev no hauv cov lus uas nws xa mus rau tus neeg koom tes. Tom qab cov lus sib sau ua ke, tus neeg saib xyuas yuav muaj cov ntaub ntawv hais txog txhua qhov yuam kev thaum lub sijhawm xa mus thiab yuav xa cov lus no ntawm discovery-spi. Cov ntaub ntawv yuam kev yuav muaj nyob rau ntawm txhua qhov ntawm cov pawg.

Tag nrho cov xwm txheej tseem ceeb hauv Service Grid tau ua tiav siv qhov kev khiav hauj lwm algorithm. Piv txwv li, hloov cov topology kuj yog cov lus ntawm discovery-spi. Thiab feem ntau, thaum piv nrog dab tsi ua ntej, cov txheej txheem tau hloov mus ua qhov hnyav thiab txhim khu kev qha. Txaus los daws txhua qhov teeb meem thaum xa tawm.

Yuav muaj dab tsi tshwm sim tom ntej

Tam sim no hais txog cov phiaj xwm. Txhua qhov kev hloov pauv loj rau Ignite qhov project tau ua tiav raws li qhov pib txhim kho Ignite, hu ua IEP. Kev tsim kho daim phiaj xwm tshiab kuj tseem muaj IEP - PEB #17 nrog rau lub npe hu ua "Kev hloov roj hauv Daim phiaj Kev Pabcuam". Tab sis qhov tseeb, peb tsis tau hloov cov roj cav, tab sis tag nrho lub cav.

Peb faib cov dej num hauv IEP ua 2 theem. Thawj zaug yog theem loj, uas muaj kev rov ua haujlwm ntawm kev xa tawm raws tu qauv. Nws twb tau suav nrog tus tswv, koj tuaj yeem sim qhov Service Grid tshiab, uas yuav tshwm sim hauv version 2.8. Theem ob suav nrog ntau lwm yam dej num:

  • Kub redeploy
  • Service versioning
  • Nce kev ua txhaum cai
  • Nyias Client
  • Cov cuab yeej rau kev saib xyuas thiab xam ntau yam kev ntsuas

Thaum kawg, peb tuaj yeem qhia koj ntawm Kev Pabcuam Grid rau kev tsim kev ua haujlwm tsis raug, ua haujlwm siab. Peb kuj caw koj tuaj xyuas peb ntawm dev lis ΠΈ cov neeg siv-list qhia koj qhov kev paub. Koj qhov kev paub dhau los tseem ceeb heev rau zej zog; nws yuav pab koj nkag siab qhov twg yuav txav mus tom ntej, yuav ua li cas los txhim kho cov khoom siv yav tom ntej.

Tau qhov twg los: www.hab.com

Ntxiv ib saib