Sida aanu Sportmaster u dooranay nidaamka kaydinta. Qaybta 1

Hello! Magacaygu waa Alexey Pyankov, waxaan ahay horumariye ka tirsan shirkadda Sportmaster. Taas dhejin Waxaan u sheegay sida shaqada website-ka Sportmaster ay ku bilaabatay 2012-kii, waxqabadkee ayaan ku guuleysanay in aan "ku riixno" iyo caksigeeda, maxaan aruurinay.

Maanta waxaan rabaa inaan wadaago fikradaha raacaya mawduuc kale - doorashada nidaamka kaydinta java backend ee aagga maamulka goobta. Sheekadan macno gaar ah ayay ii leedahay- in kasta oo ay sheekadu soo shaacbaxday 2 bilood oo kaliya, 60-kaas maalmood waxa aanu shaqaynaynay 12-16 saacadood, maalin qudhana fasax la’aan. Waligay maan moodin mana malaynayn inay suurtogal tahay in si adag loo shaqeeyo.

Sidaa darteed, waxaan u kala qaybiyay qoraalka 2 qaybood si aan gebi ahaanba loo qaadin. Taas bedelkeeda, qaybta hore waxay noqon doontaa mid aad u fudud - diyaarinta, hordhaca, tixgelinta qaar ee ku saabsan waxa kaydinta. Haddii aad hore u tahay horumariye khibrad leh ama aad la shaqeysay khasnado, dhanka farsamada waxay u badan tahay inaysan jirin wax ku cusub maqaalkan. Laakiin ilmaha yar, dib u eegista yar ee noocaas ah waxay u sheegi kartaa jihada uu u eegayo haddii uu isku arko isgoysyadan oo kale.

Sida aanu Sportmaster u dooranay nidaamka kaydinta. Qaybta 1

Markii nooca cusub ee mareegta Sportmaster la geliyay wax soo saarka, xogta waxaa loo helay hab, si fudud loo dhigo, oo aan aad u habboonayn. Saldhiggu wuxuu ahaa jaantusyo loo diyaariyey noocii hore ee goobta (Bitrix), kaas oo ay ahayd in loo soo jiido ETL, la keeno qaab cusub oo lagu kobciyo waxyaabo yar yar oo kala duwan oo laga soo bilaabo darsin nidaamyo dheeraad ah. Si sawir cusub ama sharraxaadda alaabta uga soo baxdo goobta, waa inaad sugto ilaa maalinta xigta - cusbooneysiinta habeenkii, hal mar maalintii.

Markii hore, waxaa jiray walaac badan oo ka yimid toddobaadyadii ugu horreeyay ee soo saarista taas oo dhibatooyinka noocaas ah ee maareeyayaasha nuxurku ay ahaayeen wax yar. Laakiin, sida ugu dhakhsaha badan ee wax walba u degeen, horumarinta mashruuca ayaa sii socday - dhowr bilood ka dib, bilowgii 2015, waxaan bilaabay inaan si firfircoon u horumariyo guddiga maamulka. 2015 iyo 2016, wax walba si fiican ayey u socdaan, si joogto ah ayaanu u sii deyneynaa, guddiga maamulka ayaa daboolaya wax badan oo ka mid ah diyaarinta xogta, waxaanan isku diyaarineynaa xaqiiqda ah in dhawaan kooxdeena lagu aamini doono waxa ugu muhiimsan oo adag - alaabta wareegga (diyaarinta buuxda iyo dayactirka xogta dhammaan alaabta). Laakiin xagaaga 2017, wax yar ka hor inta aan la bilaabin wareegga badeecada, mashruucu wuxuu isku arki doonaa xaalad aad u adag - sababtoo ah dhibaatooyinka caching. Waxaan rabaa inaan qaybtan kaga hadlo qaybta labaad ee daabacaadan labada qaybood ka kooban.

Laakiin qoraalkan waxaan ka bilaabi doonaa meel fog, waxaan soo bandhigi doonaa fikrado - fikrado ku saabsan caching, taas oo noqon doonta tallaabo wanaagsan oo loo maro ka hor mashruuc ballaaran.

Marka hawl kaydintu dhacdo

Hawsha kaydintu kaliya ma muuqato. Waxaan nahay horumariyayaal, qorista badeecada software oo waxaan rabnaa in loo baahan yahay. Haddii alaabtu ay tahay mid loo baahan yahay oo lagu guuleysto, isticmaalayaashu way iman doonaan. Iyo in ka badan oo soo socda. Ka dibna waxaa jira dad badan oo isticmaala ka dibna alaabtu waxay noqotaa mid aad u culus.

Marxaladaha ugu horreeya, kama fikirno hagaajinta iyo waxqabadka code. Waxa ugu muhiimsan waa shaqeynta, si dhakhso ah u soo roga duuliyaha iyo tijaabinta mala-awaalka. Haddii rarku bato, waxaan kor u qaadnaa birta. Laba ama saddex jeer ayaynu kordhinaynaa, shan jeer, malaha 10 jeer. Meel halkan ah - dhaqaaluhu ma oggolaan doono mar dambe. Immisa jeer ayaa tirada isticmaalayaashu kordhin doonaan? Ma noqon doonto sida 2-5-10, laakiin haddii lagu guuleysto, waxay noqon doontaa 100-1000 ilaa 100 kun jeer. Taasi waa, goor dhow ama dambe, waa inaad sameysaa hagaajin.

Aynu sheegno in qayb ka mid ah koodhka (aan u yeedhno qaybtan shaqo) waxay qaadataa wakhti dheer oo aan munaasib ahayn, waxaanu rabnaa inaanu yareyno wakhtiga fulinta. Shaqadu waxay noqon kartaa helitaanka xogta macluumaadka, ama waxay noqon kartaa fulinta qaar ka mid ah caqli-gal adag - waxa ugu muhiimsan waa in ay qaadato wakhti dheer si loo fuliyo. Intee in le'eg ayaad dhimi kartaa wakhtiga fulinta? Xadka, waxaad u yarayn kartaa eber, wax dheeraad ah ma aha. Sideed ugu dhimi kartaa wakhtiga fulinta eber? Jawaab: gabi ahaanba meesha ka saar dilka. Taa beddelkeeda, ku soo celi natiijada isla markiiba. Sideed ku ogaan kartaa natiijada? Jawaab: ama xisaabi ama meel eeg. Waxay qaadataa wakhti dheer in la xisaabiyo. Iyo in la basaasto waa, tusaale ahaan, in la xasuusto natiijadii ay shaqadu soo saartay markii ugu dambeysay markii loogu yeero isla cabbirro isku mid ah.

Taasi waa, hirgelinta hawshu maaha mid muhiim noo ah. Way ku filan tahay oo kaliya in la ogaado cabbirrada natiijadu ku xiran tahay. Kadib, haddii qiyamka halbeeggu ay u taagan yihiin qaab shay oo loo isticmaali karo furaha kaydinta qaar, markaa natiijada xisaabinta waa la keydin karaa oo akhrin kartaa marka xigta ee la galo. Haddii qoraalkan iyo akhrinta natiijadu ay ka dhaqso badan tahay fulinta shaqada, waxaan leenahay faa'iido xagga xawaaraha. Qadarka faa'iidada waxay gaari kartaa 100, 1000, iyo 100 kun jeer (10 ^ 5 waa ka reeban yahay, laakiin marka la eego saldhigga caddaaladda ah, waa suurtogal).

Shuruudaha aasaasiga ah ee nidaamka kaydinta

Waxa ugu horreeya ee laga yaabo inay shuruud u noqdaan nidaamka kaydinta waa xawaaraha wax-akhriska degdega ah iyo, ilaa xad ka yar, xawaaraha qor. Tani waa run, laakiin kaliya ilaa aan ka soo saarno nidaamka wax soo saarka.

Aan ciyaarno kiiskan.

Aynu nidhaahno waxaanu ku siinay culayska hadda jira oo qalabaysan oo hadda waxaanu si tartiib tartiib ah u soo bandhigaynaa kaydinta. Tirada isticmaalayaashu way koraan wax yar, culeysku wuu koraa - waxaan ku darnaa wax yar oo kayd ah, ku dheji halkan iyo halkaas. Tani waxay sii socotaa in muddo ah, oo hadda hawlaha culus looma yeerin - dhammaan culeyska ugu weyn wuxuu ku dhacayaa kaydka. Tirada isticmaalayaasha inta lagu jiro wakhtigan ayaa kordhay N jeer.

Oo haddii sahayda bilowga ah ee qalabku ay noqon karto 2-5 jeer, markaa iyada oo la kaashanayo kaydka waxaan ku hagaajin karnaa waxqabadka 10 ama, xaalad wanaagsan, 100, meelaha qaarkood laga yaabo inay sabab u tahay. of 1000. Taasi waa, on qalab isku mid ah - waxaan ka baaraandegi 100 jeer codsiyo dheeraad ah. Way fiican tahay, waxaad u qalantaa rootiga sinjibiil!

Laakiin hadda, hal daqiiqo oo fiican, fursad ahaan, nidaamku wuu burburay oo kaydkii ayaa dumay. Ma jiraan wax gaar ah - ka dib oo dhan, khasnado ayaa la doortay iyadoo lagu saleynayo shuruudaha "xawaaraha sare ee akhriska iyo qorista, inta soo hartay dhib ma leh."

Marka loo eego culeyska bilawga ah, kaydkayaga birta wuxuu ahaa 2-5 jeer, culayskuna inta lagu jiro wakhtigan wuxuu kordhay 10-100 jeer. Isticmaalka khasnadda, waxaan meesha ka saarnay wicitaanada shaqooyinka culus oo sidaas darteed wax walba way shaqeeyeen. Oo hadda, iyada oo aan kaydin, immisa jeer ayuu nidaamkeenu hoos u dhacayaa? Maxaa nagu dhici doona? Nidaamku wuu dhici doonaa.

Xitaa haddii khasnadeenu aysan dhicin, laakiin la nadiifiyay muddo, waxay u baahan doontaa in la kululeeyo, tani waxay qaadan doontaa waqti. Iyo inta lagu jiro waqtigan, culeyska ugu weyn wuxuu ku dhici doonaa shaqeynta.

Gabagabo: Mashaariicda wax soo saarka ee aadka u raran waxay u baahan yihiin nidaamka kaydinta ma aha oo kaliya in ay leeyihiin xawaare sare oo wax-akhris iyo qoraal ah, laakiin sidoo kale si loo hubiyo badbaadada xogta iyo iska caabinta guul-darrooyinka.

Xanuunka doorashada

Mashruuc leh guddi maamul, doorashadu waxay u dhacday sidan: marka hore waxaan rakibnay Hazelcast, sababtoo ah Waxaan horeyba ula soconay badeecadan khibrada goobta ugu weyn. Laakiin halkan doorashadani waxay noqotay mid aan lagu guulaysan - marka la eego muuqaalkayaga culeyska, Hazelcast maaha mid gaabis ah, laakiin aad u gaabis ah. Oo wakhtigaas waxaan horay u saxiixday taariikhda la sii daayo.

Qaswadayaasha: sida dhabta ah ee ay duruufuhu inoogu soo baxeen in aanu seegnay wax wayn oo aanu ku dhamaynay xaalad adag iyo xaalad kacsanaan ah - waxa aan idiin sheegayaa qaybta labaad - iyo sidii aanu ku danbaynay iyo sida aanu ku soo baxnay. Laakiin hadda - kaliya waxaan dhihi doonaa inay ahayd walaac badan, iyo "in aan ka fikiro - si uun uma maleyn karo, waxaan ruxeynaa dhalada." "Dhalada ruxitaanka" sidoo kale waa qaswade, in badan oo ku saabsan taas ka dib.

Waxaan sameynay:

  1. Waxaan samaynaa liiska dhammaan nidaamyada Google iyo StackOverflow soo jeediyaan. In ka yar 30
  2. Waxaan ku qornaa imtixaano leh culeys caadi u ah wax soo saarka. Si arrintan loo sameeyo, waxaan duubnay xogta ka gudubta nidaamka deegaanka wax soo saarka - nooc ka mid ah sniffer xogta ma aha shabakadda, laakiin gudaha nidaamka. Sida saxda ah xogtan ayaa loo isticmaalay imtixaanada.
  3. Kooxda oo dhan, qof kastaa wuxuu ka dooranayaa nidaamka soo socda ee liiska, wuxuu dejiyaa, oo wuxuu sameeyaa imtixaanno. Ma gudubto imtixaanka, ma qaado culeyska - waanu iska tuuraynaa oo u gudubnaa midka xiga ee safka.
  4. Nidaamkii 17aad waxaa caddaatay in wax walba ay ahaayeen rajo la'aan. Jooji ruxidda dhalada, waa waqtigii aad si dhab ah uga fikiri lahayd.

Laakiin tani waa ikhtiyaar marka aad u baahan tahay inaad doorato nidaam "ka gudbi doona xawaaraha" imtixaannada horay loo sii diyaariyay. Maxaa dhacaya haddii aysan weli jirin baaritaanno noocaas ah oo aad rabto in aad si degdeg ah u doorato?

Aynu ku daydo doorashadan (waa ay adag tahay in la qiyaaso in horumariye + dhexdhexaad ah uu ku nool yahay meel bannaan, iyo wakhtiga doorashada weli ma uusan rasmiyan dookhiisa sida badeecada uu marka hore isku dayo - sidaas darteed, sabab dheeraad ah ayaa ka badan aragti / falsafad / ku saabsan ilmo yar).

Markaan go'aansanay shuruudaha, aan bilowno xulashada xalka sanduuqa dhexdiisa. Waa maxay sababta dib u cusboonaysiinta giraangiraha: waanu tagi doonaa oo qaadan doonaa nidaam kaydin oo diyaarsan.

Haddii aad hadda bilaabayso oo aad google ka gasho, ka dib bixi ama qaado amarka, laakiin guud ahaan, habraacyadu waxay ahaan doonaan sidan. Marka hore, waxaad la kulmi doontaa Redis, meel walba waa laga maqlayaa. Markaa waxaad ogaan doontaa in EhCache uu yahay nidaamka ugu da'da weyn uguna la xaqiijiyay. Marka xigta waxaan wax ka qori doonaa Tarantool, horumarinta gudaha oo leh arrin u gaar ah xalka. Iyo sidoo kale Ignite, sababtoo ah hadda waxay ku socotaa kor u kaca caannimada waxayna ku raaxaysataa taageerada SberTech. Dhamaadka waxaa sidoo kale jira Hazelcast, sababtoo ah adduunka ganacsiga inta badan waxay u muuqataa shirkadaha waaweyn.

Liisku ma aha mid dhamaystiran, waxaa jira daraasiin nidaamyo ah. Oo annagu hal shay oo keliya ayaannu ku dumin doonnaa. Aynu soo qaadano 5 nidaam ee la doortay ee "tartanka quruxda" oo aan dooranno. Yaa noqon doona guuleysta?

Redis

Waxaan akhrinay waxay ku qoraan bogga rasmiga ah.
Redis - mashruuc il furan. Waxay bixisaa kaydinta xogta xusuusta gudaha, awoodda lagu kaydiyo diskka, qaybinta otomaatiga ah, helitaan sare iyo ka soo kabasho go'naanshaha shabakada.

Waxay u muuqataa in wax walba ay fiican yihiin, waad qaadan kartaa oo aad ku dhejin kartaa - wax kasta oo aad u baahan tahay, way sameeyaan. Laakiin kaliya madadaalo, aan eegno musharaxiinta kale.

EhCache

EhCache - "Cache-ka loogu isticmaalka badan yahay Java" (tarjumaadda hal-ku-dhigga bogga rasmiga ah). Sidoo kale opensource. Kadibna waxaan fahamsanahay in Redis aysan ahayn java, laakiin guud ahaan, iyo si aad ula falgasho waxaad u baahan tahay duub. Iyo EhCache waxay noqon doontaa mid ku habboon. Maxaa kale ee nidaamka ballan qaaday? Kalsoonida, la xaqiijiyay, shaqeyn buuxda. Hagaag, sidoo kale waa tan ugu badan. Oo kaydiya terabyte-yada xogta.

Redis waa la illoobay, waxaan diyaar u ahay inaan doorto EhCache.

Laakiin dareenka wadaniyadeed ayaa igu riixaya inaan arko waxa ku wanaagsan Tarantool.

Tarantool

Tarantool - buuxiya magacaabista "Madal isku dhafka xogta waqtiga-dhabta ah". Waxay u egtahay mid aad u dhib badan, markaa waxaan si faahfaahsan u akhrinay bogga oo aan helnaa bayaan sare: "Caches 100% xogta RAM." Tani waa inay kicisaa su'aalo - ka dib oo dhan, waxaa jiri kara xog aad uga badan xusuusta. Sharaxaadku waa in ay ka dhigan tahay in Tarantool uusan socodsiin taxanaha si uu xogta ugu qoro diskka xusuusta. Taa beddelkeeda, waxay isticmaashaa sifooyin hoose oo nidaamka, marka xusuusta si fudud loogu habeeyo nidaamka faylka oo leh waxqabadka I / O aad u wanaagsan. Guud ahaan, waxay sameeyeen wax cajiib ah oo qabow.

Aynu eegno fulinta: Mail.ru highway corporate, Avito, Beeline, Megafon, Alfa-Bank, Gazprom ...

Haddii ay wali jiraan wax shaki ah oo ku saabsan Tarantool, markaa kiiska fulinta ee Mastercard wuu iga dhammeeyaa. Waxaan qaataa Tarantool.

Laakiin si kastaba…

Diido

... ma jiraan qaar kale Diido, waxaa lagu dalacayaa sida "in-memory computing platform...xawaaraha xusuusta ee petabytes ee xogta." Waxa kale oo jira faa'iidooyin badan halkan: kaydinta xusuusta ee la qaybiyey, kaydinta qiimaha ugu dhaqsaha badan iyo kaydinta, miisaan toosan, helitaan sare, daacadnimo adag. Guud ahaan, waxaa soo baxday in ugu dhaqsaha badan yahay Ignite.

Hirgelinta: Sberbank, American Airlines, Yahoo! Japan Kadibna waxaan ogaaday in Ignite aan kaliya laga hirgelin Sberbank, laakiin kooxda SberTech waxay u dirtaa dadkeeda kooxda Ignite lafteeda si ay u nadiifiso alaabta. Tani gabi ahaanba waa soo jiidasho leh, waxaanan diyaar u ahay inaan qaato Ignite.

Si buuxda uma cadda sababta, waxaan eegayaa qodobka shanaad.

hazelcast

waxaan aadayaa goobta hazelcast, akhriska. Oo waxay soo baxday in xalka ugu dhakhsaha badan ee kaydinta la qaybiyey uu yahay Hazelcast. Waa amarrada baaxadda leh ee ka dhaqso badan dhammaan xalalka kale iyo guud ahaan waa hoggaamiye berrinkii xogta xusuusta gudaha. Dhanka asalkan, inaad wax kale qaadato maaha inaad ixtiraamto naftaada. Waxa kale oo ay u adeegsataa kaydinta xogta aan badnayn ee hawlgalka joogtada ah ee kooxda iyada oo aan xog la lumin.

Taasi waa ta, waxaan diyaar u ahay inaan qaato Hazelcast.

Isbarbar dhigid

Laakiin haddii aad eegto, dhammaan shanta musharrax waxaa lagu sifeeyaa si mid kasta oo iyaga ka mid ah ugu wanaagsan yahay. Sidee loo doortaa? Waan arki karnaa midka ugu caansan, raadi isbarbardhigga, madax-xanuunkuna wuu tagi doonaa.

Waxaan helnaa mid sidan oo kale ah dib u eegis, dooro nidaamyadayada 5.

Sida aanu Sportmaster u dooranay nidaamka kaydinta. Qaybta 1

Halkan waxaa lagu kala soocaa: Redis waa meesha ugu sareysa, Hazelcast ayaa ku jirta kaalinta labaad, Tarantool iyo Ignite ayaa helaya caan, EhCache waxay ahayd oo ay ahaanaysaa sidii hore.

Laakiin aan eegno habka xisaabintaIsku xirka shabakadaha internetka, xiisaha guud ee nidaamka, shaqo bixinta - weyn! Taasi waa, marka nidaamkaygu guuldareysto, waxaan dhihi doonaa: "Maya, waa la isku halleyn karaa! Waxaa jira shaqooyin badan oo la soo bandhigo..." Isbarbardhigga fudud ee noocan oo kale ah ma sameyn doono.

Dhammaan nidaamyadani maaha oo kaliya hababka kaydinta. Waxa kale oo ay leeyihiin hawlo badan, oo ay ku jiraan marka xogta aan loo shubin macmiilka si loo farsameeyo, laakiin liddi ku ah: koodhka u baahan in lagu fuliyo xogta wuxuu u guuraa server-ka, halkaas ayaa lagu fuliyay, natiijadana waa la soo celinayaa. Oo inta badan looma tixgeliyo inay yihiin nidaam u gaar ah kaydinta.

Hagaag, yaynaan quusan, aynu helno isbarbardhig toos ah nidaamyada. Aynu soo qaadano labada doorasho ee ugu sarreeya - Redis iyo Hazelcast. Waxaan xiiseyneynaa xawaaraha, waxaanan is barbardhigi doonaa iyaga oo ku saleysan cabbirkan.

Hz vs Redis

Waxaan helnaa tan isbarbardhig:
Sida aanu Sportmaster u dooranay nidaamka kaydinta. Qaybta 1

Buluugu waa Redis, casaankuna waa Hazelcast. Hazelcast wuxuu ku guulaystaa meel kasta, waxaana jira sabab macquul ah tan: waa mid aad u badan, si heer sare ah loo hagaajiyay, mid kastaa wuxuu la shaqeeyaa qaybtiisa, markaa ma jiraan wax xannibaya. Redis-na waa hal-threaded; kama faa'iidaysto CPU-yada muhiimka ah ee casriga ah. Hazelcast waxay leedahay I/O asynchronous, Redis-Jedis waxay leedahay saldhigyo xannibay. Ka dib oo dhan, Hazelcast waxay isticmaashaa borotokoolka binary, Redis-na waa mid qoraal ku salaysan, taasoo la macno ah inay tahay mid aan waxtar lahayn.

Haddii ay dhacdo, aan u leexanno meel kale oo isbarbardhigga ah. Muxuu ina tusi doonaa?

Redis vs Hz

Mid kale isbarbardhig:
Sida aanu Sportmaster u dooranay nidaamka kaydinta. Qaybta 1

Halkan, liddi ku ah, casaanku waa Redis. Taasi waa, Redis ayaa ka sarreeya Hazelcast marka loo eego waxqabadka. Hazelcast wuxuu ku guuleystay isbarbardhigga koowaad, Redis wuxuu ku guuleystay kan labaad. Isla halkan ayaa si sax ah u sharaxay sababta Hazelcast uu ugu guulaystay isbarbardhigga hore.

Waxay soo baxday in natiijadii tii ugu horreysay ay dhab ahaantii khiyaantay: Redis waxaa lagu qaaday sanduuqa saldhigga, iyo Hazelcast waxaa loogu talagalay kiis tijaabo ah. Kadibna waxay soo baxdaa: marka hore, qofna kuma kalsoonaan karno, marka labaadna, marka aan ugu dambeyntii dooranno nidaam, waxaan weli u baahanahay inaan si sax ah u habeyno. Goobahan waxaa ku jira daraasiin, ku dhawaad ​​boqollaal cabbir.

Dhalada ruxida

Oo waxaan sharxi karaa dhammaan geeddi-socodkii aan hadda ku sameynay tusaalaha soo socda: "Ruxidda dhalada." Taasi waa, hadda uma baahnid inaad barnaamij sameyso, hadda waxa ugu weyn waa inaad awood u leedahay inaad akhrido qulqulka qulqulka. Oo waxaan haystaa qof kooxdayda ka tirsan, xirfadle ah, oo sidan oo kale u shaqeeya waqtiyo xasaasi ah.

muxuu samaynayaa? Waxa uu arkayaa shay jaban, waxa uu arkaa raad is dulsaaran, waxa uu ka soo qaataa ereyo (kuwa khibradiisa u leh barnaamijka), waxa uu Google ka baadhiyaa, jawaabaha waxa ka mid ah qulqulka qulqulka. Isaga oo aan akhriyin, ka fikirin, jawaabaha su'aasha dhexdooda, waxa uu dooranayaa shay la mid ah weedha ah β€œwaxan samee iyo in kale” (doorashada jawaabta noocaas ah waa tayadiisa, sababtoo ah had iyo jeer maaha jawaabta cidda ugu badan ee la jecel yahay). khuseysaa , waxay u muuqataa: haddii ay wax isbedeleen, ka dibna weyn. Haddii aysan isbeddelin, dib u rogo. Oo ku celi bilaw-hubin-raadinta. Oo habkan dareenka leh, wuxuu hubiyaa in koodhka uu shaqeeyo wakhti ka dib. Ma garanayo sababta, ma garanayo wuxuu sameeyay, ma sharaxi karo. Laakiin! Caabuqani wuu shaqeeyaa. Iyo "dabka waa la damiyey." Hadda aynu ogaano waxa aanu samaynay. Marka uu barnaamijku shaqeeyo, waa u kala horrayn fudud. Waxayna kaydisaa waqti badan.

Habkan ayaa si fiican loogu sharaxay tusaalahan.

Mar aad bay caan u ahayd in doon shiraac lagu ururiyo dhalo. Isla mar ahaantaana, doonta shiraacdu waa mid weyn oo jilicsan, qoorta dhaladu waa mid aad u cidhiidhi ah, suurtagal maaha in lagu riixo gudaha. Sidee loo soo ururiyaa?

Sida aanu Sportmaster u dooranay nidaamka kaydinta. Qaybta 1

Waxaa jira habkan oo kale, aad u dhakhso badan oo waxtar leh.

Markabku wuxuu ka kooban yahay waxyaabo yaryar oo badan: ulo, xargo, shiraac, xabag. Waxaas oo dhan waxaan ku ridnay dhalada.
Waxaan ku qaadnay dhalada labada gacmood oo waxaan bilownay ruxrux. Waanu ruxnaa oo ruxnaa iyada. Caadi ahaan waxay u soo baxdaa inay noqoto qashin dhamaystiran, dabcan. Laakiin mararka qaarkood. Mararka qaarkood waxay u noqotaa markab! Si sax ah, wax la mid ah markabka.

Tan waxaan tusnaa qof: "Seryoga, ma aragtaa!?" Oo runtii, meel fog waxay u egtahay markab. Laakiin tan looma ogolaan karo inay sii socoto.

Waxaa jirta hab kale. Waxa isticmaala rag aad u horumarsan, sida hackers-ka.

Ninkan hawl baan u dhiibay, wax walba wuu qabtay wuuna baxay. Oo waxaad eegtaa - waxay u egtahay in la sameeyay. Muddo ka dib, marka koodhka loo baahan yahay in la dhammeeyo, tani waxay ku bilaabataa isaga dartiis ... Way fiicantahay in uu mar horeba u suurtagashay in uu ka cararo meel fog. Kuwani waa nimanka, iyaga oo isticmaalaya tusaalaha dhalada, waxay samayn doonaan tan: waxaad aragtaa, meesha hoose, muraayadda ayaa foorarsanaysa. Oo gebi ahaanba ma cadda in ay tahay mid hufan iyo in kale. Kadibna "hackers" ayaa gooyay guntan, halkaasna markab ku dheji, ka dibna hoosta ku dheji mar kale, waxayna u egtahay in ay sidaas tahay.

Marka laga eego dhinaca dejinta dhibaatada, wax walba waxay u muuqdaan inay sax yihiin. Laakin adiga oo maraakibta tusaale ahaan u isticmaaleya: waa maxay sababta markabkan gabi ahaanba loo sameeyay, yaa u baahan si kastaba? Wax shaqo ah ma bixiso Caadi ahaan maraakiibta noocan oo kale ah ayaa ah hadiyado loogu talagalay dadka aadka u sarreeya, kuwaas oo ku dhejinaya shelf iyaga ka sarreeya, sida nooc ka mid ah calaamad, calaamad ahaan. Haddiise qofkaas oo kale, madax meherad weyn leh ama madax sare ah, sidee buu calanku u taagan yahay jabsigaas qoorta laga jaray? Way fiicnaan lahayd haddii aanu waligii ogayn. Haddaba, sideebay ku dambeeyaan samaynta maraakiibtan oo la siin karo qof muhiim ah?

Meesha kaliya ee muhiimka ah ee aadan runtii waxba ka qaban karin waa jirka. Xuubka markabkana wuxuu ku habboon yahay qoorta. Halka markabku uu ku urursan yahay dhalada dibaddeeda. Laakiin maaha oo kaliya ururinta markab, waa farshaxan dahab ah oo dhab ah. kabaallayaasha gaarka ah ayaa lagu daraa qaybaha, ka dibna u oggolaanaya in la qaado. Tusaale ahaan, shiraacyada ayaa la isku laalaa, si taxadar leh loo keenaa gudaha, ka dibna, iyada oo la kaashanayo tweezers, waa la jiidaa oo kor loo qaadaa si sax ah, si sax ah. Natiijadu waa shaqo farshaxan oo hibo u leh damiir hufan iyo faan.

Haddii aan rabno in mashruucu noqdo mid guuleysta, waa in uu jiraa ugu yaraan hal dahabiye oo kooxda ah. Qofka danaynaya tayada badeecada oo ku xisaabtama dhammaan dhinacyada, isaga oo aan waxba u hureynin, xitaa waqtiyada walaaca, marka xaaladuhu u baahan yihiin samaynta degdegga ah ee kharashka muhiimka ah. Dhammaan mashaariicda lagu guuleystay ee waara, ee u istaagay tijaabada waqtiga, ayaa lagu dhisay mabda'an. Waxaa jira wax aad u sax ah oo gaar ah oo iyaga ku saabsan, wax ka faa'iideysanaya dhammaan fursadaha jira. Tusaalaha markabka ku jira dhalada, xaqiiqda ah in qolofta markabka ay ka gudubto qoorta ayaa la ciyaarayaa.

Ku soo noqoshada hawsha doorashada serferka kaydinta, sidee habkan loo dabaqi karaa? Waxaan bixiyaa doorashadan doorashada dhammaan nidaamyada jira - ha ruxin dhalada, ha dooran, laakiin fiiri waxa ay leeyihiin mabda'a, waxa la raadinayo markaad dooranayso nidaam.

Meesha laga raadiyo qoorta dhalada

Aan isku dayno inaanan ruxin dhalada, yaynaan u marin wax kasta oo jira mid mid, laakiin aan aragno dhibaatooyinka soo bixi doona haddii aan si lama filaan ah, hawshayada, u naqshadeyno nidaamkan oo kale nafteena. Dabcan, ma ururin doono baaskiilka, laakiin waxaan u isticmaali doonaa jaantuskan si aan nooga caawino inaan ogaano qodobada ay tahay in fiiro gaar ah loo yeesho sharaxaadda alaabta. Aynu sawirno jaantuska noocaas ah.

Sida aanu Sportmaster u dooranay nidaamka kaydinta. Qaybta 1

Haddii nidaamka la qaybiyo, markaas waxaan yeelan doonaa dhowr server (6). Aynu sheegno inay jiraan afar (waa ku habboon tahay in la dhigo sawirka, laakiin, dabcan, waxaa jiri kara inta badan ee aad jeceshahay). Haddii serferyadu ay ku yaalaan noodhyo kala duwan, waxay la macno tahay in ay dhamaantood wadaan koodhka ka masuulka ah hubinta in noodhkani ay samaystaan ​​koox iyo, haddii ay dhacdo jebin, isku xidho oo is aqoonsadaan.

Waxaan sidoo kale u baahanahay code macquul ah (2), kaas oo dhab ahaantii ku saabsan kaydinta. Macaamiishu waxay la falgalaan koodkan iyaga oo isticmaalaya API-ga qaarkood. Koodhka macmiilka (1) wuxuu noqon karaa isla JVM isku mid ah ama wuxuu ka geli karaa shabakada. Caqliga gudaha lagu hirgeliyay waa go'aanka shayada laga tagayo khasnadda iyo kan la tuurayo. Waxaan isticmaalnaa xusuusta (3) si aan u keydinno kaydka, laakiin haddii loo baahdo, waxaan ku keydin karnaa qaar ka mid ah xogta diskka (4).

Aynu aragno qaybaha rarku ku dhici doono. Dhab ahaantii, falaar kasta iyo nood kasta waa la rari doonaa. Marka hore, inta u dhaxaysa koodka macmiilka iyo api, haddii kani yahay isgaarsiinta shabakada, kabitaanku wuxuu noqon karaa mid la dareemo. Marka labaad, gudaha qaab dhismeedka api laftiisa - haddii aan ku dhaafno caqli-gal adag, waxaan la kulmi karnaa dhibaatooyin CPU-da. Way fiicnaan lahayd haddii caqli-galku aanu waqti ku lumin xusuusta. Oo waxaa jira is dhex galka nidaamka faylka - nooca caadiga ah tani waa taxane / soo celin iyo qor / akhri.

Xiga waa la falgalka kooxda. Inta badan, waxay ku jiri doontaa nidaam isku mid ah, laakiin waxay noqon kartaa si gooni ah. Halkan waxa kale oo aad u baahan tahay inaad ku xisaabtanto wareejinta xogta, xawaaraha xogta xogta iyo isdhexgalka ka dhexeeya kooxda.

Hadda, dhinaca kale, waxaan qiyaasi karnaa "waxa gears u rogi doono" nidaamka kaydka marka la shaqeynayo codsiyada koodkayaga, dhinaca kale, waxaan qiyaasi karnaa waxa iyo inta codsi ee koodkayaga ayaa soo saari doona nidaamkan. Tani waa ku filan tahay in la sameeyo doorasho miyir-qab ah oo badan ama ka yar - si aan u dooranno nidaam kiis isticmaalkeena.

hazelcast

Aan aragno sida loogu dabaqi karo qudhunkan liiskayaga. Tusaale ahaan, Hazelcast.

Si loo dhigo/qaado xogta Hazelcast, koodhka macmiilku wuxuu gelayaa (1) api. Hz wuxuu kuu ogolaanayaa inaad u socodsiiso server-ka sida ku-xidhan, oo kiiskan, gelitaanka api waa habka wicitaanka gudaha JVM, kaas oo loo tixgelin karo bilaash.

Si caqli-galku (2) uu u shaqeeyo, Hz waxay ku tiirsan tahay xashiishka habaynta byte ee furaha taxan-yacni, furuhu si kasta ha ahaatee. Tani waa lama huraan korka sare ee Hz.
Xeeladaha guri ka saarista si wanaagsan ayaa loo fuliyaa, laakiin kiisaska gaarka ah waxaad ku dari kartaa adiga. Uma baahnid inaad ka walwasho qaybtan.

Kaydinta (4) waa la isku xidhi karaa. Wayn Is-dhexgalka (5) ee ku-xidhan waxa loo tixgelin karaa degdeg. Xog-isweydaarsiga u dhexeeya noodyada kutlada (6) - haa, way jirtaa. Tani waa maalgelin ku saabsan dulqaadka qaladka ee kharashka xawaaraha. Qaabka Hz-ka-dhow wuxuu kuu ogolaanayaa inaad hoos u dhigto qiimaha - xogta laga helo noodhadhka kale ee kooxda waa la kaydin doonaa.

Maxaa la samayn karaa xaaladahan oo kale si loo kordhiyo xawaaraha?

Tusaale ahaan, si aad uga fogaato in furaha la xidho (2) - ku dheji kayd kale oo ku yaal dusha sare ee Hazelcast, xogta ugu kulul. Sportmaster wuxuu u doortay Caffeine ujeedadan.

Si loo leexiyo heerka (6), Hz waxay bixisaa laba nooc oo kaydin: IMap iyo ReplicatedMap.
Sida aanu Sportmaster u dooranay nidaamka kaydinta. Qaybta 1

Waxaa mudan in la sheego sida Hazelcast uu u galay xirmada tignoolajiyada Sportmaster.

Sannadkii 2012, markii aan ka shaqaynaynay duuliyihii ugu horreeyay ee goobta mustaqbalka, waxay ahayd Hazelcast ka soo noqday isku xirka ugu horreeya ee mashiinka raadinta soo laabtay. Aqoonta ayaa bilaabatay "markii ugu horeysay" - waxaa na soo jiitay xaqiiqda ah in laba saacadood ka dib, markii aan ku dhajinay Hz nidaamka, way shaqeysay. Oo si fiican ayey u shaqeysay. Dhammaadkii maalinta waxaanu dhammaynay imtixaano dhawr ah oo aanu ku faraxsanahay. Waxayna kaydkan xoogga ahi ku filnaatay in laga gudbo yaababkii Hzku tuuray muddo ka dib. Hadda kooxda Sportmaster ma haysato sabab ay uga tagaan Hazelcast.

Laakiin doodaha noocan oo kale ah sida "isku xirka ugu horreeya ee mashiinka raadinta" iyo "HelloWorld si dhakhso ah ayaa loo soo ururiyey" waa, dabcan, ka reeban iyo muuqaal ka mid ah xilliga doorashada ay dhacday. Tijaabooyinka dhabta ah ee nidaamka la doortay waxay ka bilaabmaan sii deynta wax soo saarka, waana marxaladdan inaad fiiro gaar ah u yeelato markaad dooranayso nidaam kasta, oo ay ku jiraan cache. Dhab ahaantii, kiiskeena waxaan dhihi karnaa inaan dooranay Hazelcast shil, laakiin markaa waxay soo baxday inaan si sax ah u dooranay.

Wax soo saarka, aad uga muhimsan: la socodka, maaraynta guul-darrooyinka qanjidhada gaarka ah, nuqul ka mid ah xogta, qiimaha miisaan. Taasi waa, waxaa habboon in fiiro gaar ah loo yeesho hawlaha soo bixi doona inta lagu jiro dayactirka nidaamka - marka culeysku uu tobanaan jeer ka badan yahay qorshaha, marka aan si qalad ah wax u gelinno meel khaldan, marka aan u baahanahay inaan soo saarno nooc cusub ee koodka, beddel xogta oo samee iyada oo aan la dareemin macaamiisha.

Shuruudahan oo dhan, Hazelcast xaqiiqdii waxay ku habboon tahay biilka.

In la sii wado

Laakiin Hazelcast ma aha daawo. 2017, waxaanu u dooranay Hazelcast khasnadda maamulka, si fudud ku salaysan aragtiyo wanaagsan oo laga helay khibradii hore. Tani waxay door muhiim ah ka ciyaartay kaftan naxariis daran, sababtoo ah waxaan isku aragnay xaalad adag oo "halyeynimo" ka soo baxnay 60 maalmood. Laakin wax badan oo ku saabsan in qaybta xigta.

Dhanka kale... Farxad Cusub Code!

Source: www.habr.com

Add a comment