Kamoo rona ho Sportmaster re khethileng tsamaiso ea caching. Karolo ea 1

Lumela! Lebitso la ka ke Alexey Pyankov, ke moqapi k'hamphaning ea Sportmaster. Ho seo poso Ke ile ka bolela hore na mosebetsi ho websaeteng ea Sportmaster o qalile joang ka 2012, ke mehato efe eo re ileng ra khona ho e "sutumelletsa" le ka tsela e fapaneng, hore na re bokelletse eng.

Kajeno ke batla ho arolelana mehopolo e latelang sehlooho se seng - ho khetha sistimi ea caching bakeng sa java backend sebakeng sa admin sa sebaka. Morero ona o na le moelelo o khethehileng ho 'na - le hoja pale e ile ea etsahala ka likhoeli tse 2 feela, matsatsing ana a 60 re ile ra sebetsa lihora tse 12-16 mme re se na letsatsi le le leng la phomolo. Ho ne ho se mohla nkileng ka nahana kapa hona ho nahana hore ho ka khoneha ho sebetsa ka thata hakaalo.

Ka hona, ke arola temana ka likarolo tsa 2 e le hore ke se ke ka e jarisa ka ho feletseng. Ho fapana le hoo, karolo ea pele e tla ba bobebe haholo - ho itokisa, kenyelletso, lintlha tse ling mabapi le hore na caching ke eng. Haeba u se u ntse u le moqapi ea nang le boiphihlelo kapa u sebelitse ka li-cache, ho tloha lehlakoreng la tekheniki ho ka etsahala hore ho be le letho le lecha sengolong sena. Empa ho ngoana, tlhahlobo e nyenyane joalo e ka mo bolella hore na a shebe ka lehlakoreng lefe haeba a iphumana a le mateanong a joalo.

Kamoo rona ho Sportmaster re khethileng tsamaiso ea caching. Karolo ea 1

Ha phetolelo e ncha ea websaeteng ea Sportmaster e kenngoa tlhahiso, boitsebiso bo ile ba amoheloa ka tsela eo, ho e beha ka bonolo, e seng e loketseng haholo. Motheo e ne e le litafole tse lokiselitsoeng mofuta o fetileng oa sebaka sa marang-rang (Bitrix), se neng se tlameha ho huleloa ho ETL, se tlisitsoe ka sebopeho se secha mme se matlafatsoe ka lintho tse nyane tse fapaneng ho tsoa litsing tse ling tse 1. E le hore setšoantšo se secha kapa tlhaloso ea sehlahisoa e hlahe setšeng, u ne u tlameha ho ema ho fihlela letsatsing le hlahlamang - lintlafatso feela bosiu, hang ka letsatsi.

Qalong, ho ne ho e-na le matšoenyeho a mangata ho tloha libeke tsa pele tsa ho qala tlhahiso hoo litšitiso tse joalo bakeng sa batsamaisi ba litaba e neng e le ntho e nyenyane. Empa, hang ha ntho e 'ngoe le e' ngoe e se e tsitsitse, tsoelo-pele ea morero e ile ea tsoela pele - likhoeli tse 'maloa hamorao, qalong ea 2015, re ile ra qala ho ntshetsa pele karolo ea tsamaiso ka mafolofolo. Ka 2015 le 2016, ntho e 'ngoe le e' ngoe e ntse e tsamaea hantle, re lokolla kamehla, sehlopha sa tsamaiso se akaretsa ho feta ho lokisoa ha data, 'me re itokisetsa taba ea hore haufinyane sehlopha sa rona se tla fuoa ntho ea bohlokoa ka ho fetisisa le e rarahaneng - sehlahisoa. potoloho (tokisetso e feletseng le tlhokomelo ea data ka lihlahisoa tsohle). Empa lehlabuleng la 2017, pele ho ts'ebetso ea potoloho ea thepa, morero o tla iphumana o le boemong bo thata haholo - ka lebaka la mathata a caching. Ke batla ho bua ka ketsahalo ena karolong ea bobeli ea khatiso ena ea likarolo tse peli.

Empa posong ena ke tla qala ho tloha hole, ke tla hlahisa mehopolo - mehopolo mabapi le caching, e ka bang mohato o motle oa ho phenya pele ho morero o moholo.

Ha mosebetsi oa caching o etsahala

Mosebetsi oa caching ha o hlahe feela. Re bahlahisi, re ngola sehlahisoa sa software mme re batla hore se batloa. Haeba sehlahisoa se batloa ebile se atlehile, basebelisi ba tla tla. Mme ba bangata ba tla. 'Me joale ho na le basebelisi ba bangata' me joale sehlahisoa se ba se imetsoeng haholo.

Mehatong ea pele, ha re nahane ka ntlafatso le ts'ebetso ea khoutu. Ntho e ka sehloohong ke ts'ebetso, ho potlakela ho hlahisa mofofisi le ho hlahloba likhopolo. 'Me haeba mojaro o eketseha, re pompa tšepe. Re e eketsa habeli kapa hararo, hahlano, mohlomong makhetlo a 10. Kae kapa kae mona - lichelete ha li sa tla hlola li e lumella. Palo ea basebelisi e tla eketseha ka makhetlo a makae? E ke ke ea tšoana le 2-5-10, empa haeba e atlehile, e tla tloha ho 100-1000 ho isa ho makhetlo a likete tse 100. Ke hore, kapele kapa hamorao, o tla tlameha ho etsa optimization.

Ha re re karolo e 'ngoe ea khoutu (ha re bitse karolo ena mosebetsi) e nka nako e telele ka mokhoa o sa hlompheheng,' me re batla ho fokotsa nako ea ts'ebetso. Mosebetsi o ka ba ho fihlella ho database, kapa e ka ba ts'ebetso ea logic e rarahaneng - ntho ea bohlokoa ke hore ho nka nako e telele ho qeta. U ka fokotsa nako ea ho phetha ka bokae? Ka tekanyo, o ka e fokotsa ho ea ho zero, ho feta moo. U ka fokotsa nako ea ts'ebetso ho ea ho zero joang? Karabo: felisa ho bolaoa ka ho feletseng. Ho e-na le hoo, khutlisetsa sephetho hang-hang. U ka fumana phello joang? Karabo: e ka bala kapa sheba kae-kae. Ho nka nako e telele ho bala. 'Me ho hloela ke, ka mohlala, ho hopola sephetho sa hore mosebetsi o hlahisitse lekhetlo la ho qetela ha o bitsoa ka li-parameter tse tšoanang.

Ke hore ho phethahatsa mosebetsi ha ho bohlokoa ho rona. Ho lekane feela ho tseba hore na sephetho se itšetlehile ka eng. Joale, haeba litekanyetso tsa parameter li emeloa ka mokhoa oa ntho e ka sebelisoang e le senotlolo sebakeng se seng sa polokelo, sephetho sa palo se ka bolokoa 'me sa baloa nakong e tlang ha se fihleloa. Haeba ho ngola sena le ho bala sephetho ho potlakile ho feta ho phethahatsa mosebetsi, re na le phaello ka lebelo. Chelete ea phaello e ka fihla ho 100, 1000, le makhetlo a likete tse 100 (10 ^ 5 ke mokhelo, empa tabeng ea motheo o fokolang, ho ka khoneha).

Litlhoko tsa mantlha tsa sistimi ea caching

Ntho ea pele eo e ka bang tlhokahalo bakeng sa sistimi ea caching ke lebelo la ho bala ka potlako mme, ho isa tekanyong e nyane, lebelo la ho ngola. Sena ke 'nete, empa feela ho fihlela re ntša tsamaiso ho hlahisa.

Ha re bapale nyeoe ena.

Ha re re re fane ka mojaro oa hajoale ka hardware mme joale butle-butle re kenya caching. Palo ea basebelisi e ntse e hōla hanyenyane, mojaro o ntse o hōla - re eketsa li-cache tse nyenyane, re li phunye mona le mane. Sena se tsoela pele ka nako e itseng, 'me hona joale mesebetsi e boima ha e sa hlola e bitsoa - mojaro o moholo o oela holim'a cache. Palo ea basebelisi nakong ena e eketsehile ka makhetlo a N.

'Me haeba thepa ea pele ea thepa e ka ba makhetlo a 2-5, joale ka thuso ea cache re ka eketsa ts'ebetso ka karolo ea 10 kapa, ha e le hantle, ka karolo ea 100, libakeng tse ling mohlomong ka ntlha e itseng. ea 1000. Ke hore, ho hardware e ts'oanang - re sebetsana le likōpo tse ling tse 100. E kholo, u lokeloa ke bohobe ba ginger!

Empa joale, ka nako e 'ngoe e ntle, ka tšohanyetso, sistimi e ile ea putlama mme cache ea putlama. Ha ho letho le ikhethang - ka mor'a moo, cache e khethiloe ho latela tlhokahalo "lebelo le phahameng la ho bala le ho ngola, tse ling kaofela ha li na taba."

Mabapi le mojaro o qalang, polokelo ea rona ea tšepe e ne e le makhetlo a 2-5, 'me moroalo nakong ena o ile oa eketseha ka makhetlo a 10-100. Re sebelisa cache, re tlositse mehala ea mesebetsi e boima, ka hona ntho e 'ngoe le e' ngoe e sebetsa. 'Me joale, ntle le cache, tsamaiso ea rona e tla theoha ka makhetlo a makae? Ho tla etsahala’ng ka rōna? Tsamaiso e tla oa.

Esita le haeba cache ea rona e sa ka ea senyeha, empa e hloekisitsoe ka nakoana feela, e tla hloka ho futhumala, 'me sena se tla nka nako. 'Me nakong ena, moroalo o ka sehloohong o tla oela ts'ebetsong.

Qetello: merero ea tlhahiso e jereng haholo e hloka mokhoa oa ho boloka caching eseng feela ho ba le lebelo le phahameng la ho bala le ho ngola, empa hape le ho netefatsa polokeho ea data le ho hanyetsa ho hlōleha.

Mofuta oa khetho

Morerong o nang le phanele ea admin, khetho e tsamaile tjena: pele re kentse Hazelcast, hobane Re ne re se re ntse re tloaelane le sehlahisoa sena ho tloha phihlelo ea sebaka se seholo. Empa mona khetho ena ha ea ka ea atleha - tlasa boemo ba rona ba mojaro, Hazelcast ha e liehe feela, empa e lieha haholo. Mme ka nako eo re ne re se re ngolisitse letsatsi la tokollo.

Spoiler: hantle-ntle maemo a bile teng joang hoo re ileng ra hloloheloa ntho e kholo joalo mme ra qetella re e-na le boemo bo thata le bo thata - ke tla u bolella karolong ea bobeli - le hore na re qetile joang le hore na re tsoile joang. Empa joale - ke tla re feela e ne e le khatello ea maikutlo, le "ho nahana - ka tsela e itseng ha ke nahane, re sisinya botlolo." "Ho sisinya botlolo" ho boetse ho senya, ho feta moo hamorao.

Seo re se entseng:

  1. Re etsa lethathamo la litsamaiso tsohle tseo Google le StackOverflow li fanang ka tsona. Hanyane ho feta 30
  2. Re ngola liteko ka mojaro o tloaelehileng bakeng sa tlhahiso. Ho etsa sena, re ngotse lintlha tse fetang tsamaisong sebakeng sa tlhahiso - mofuta oa sniffer bakeng sa data eseng marang-rang, empa ka hare ho tsamaiso. Hantle-ntle data ena e ile ea sebelisoa litekong.
  3. Ka sehlopha sohle, motho e mong le e mong o khetha sistimi e latelang lethathamong, a e hlophise, 'me a etse liteko. Ha e fetise teko, ha e jare mojaro - rea e lahla ebe re fetela ho e latelang ka mola.
  4. Ka tsamaiso ea 17 ho ile ha hlaka hore ntho e 'ngoe le e' ngoe e ne e se na tšepo. Khaotsa ho sisinya botlolo, ke nako ea ho nahana ka botebo.

Empa ena ke khetho ha o hloka ho khetha mokhoa o tla "feta ka lebelo" litekong tse lokiselitsoeng esale pele. Ho thoe'ng haeba ho se na liteko tse joalo 'me u batla ho khetha kapele?

Ha re etsise khetho ena (ho thata ho nahana hore moqapi oa bohareng + o lula sebakeng se le seng, 'me ka nako ea khetho ha a e-s'o hlophise khetho ea hae ea hore na ke sehlahisoa sefe seo a lokelang ho se leka pele - ka hona, mabaka a eketsehileng ke a theorist / filosofi / ka monyane).

Ha re se re entse qeto ka litlhoko, re tla qala ho khetha tharollo ho tsoa lebokoseng. Hobaneng re qapa lebili hape: re tla ea 'me re nke sistimi e lokiselitsoeng ea caching.

Haeba u sa tsoa qala 'me u google, joale u fane kapa u nke taelo, empa ka kakaretso, tataiso e tla ba tjena. Pele ho tsohle, o tla kopana le Redis, e utloahala hohle. Joale u tla fumana hore EhCache ke tsamaiso ea khale le e netefalitsoeng ka ho fetisisa. Ka mor'a moo re tla ngola ka Tarantool, tsoelo-pele ea malapeng e nang le karolo e ikhethang ea tharollo. Hape le Ignite, hobane hona joale e ntse e eketseha ka botumo 'me e thabela tšehetso ea SberTech. Qetellong ho boetse ho na le Hazelcast, hobane lefats'eng la likhoebo hangata le hlaha har'a lik'hamphani tse kholo.

Lenane ha le feletse; ho na le litsamaiso tse ngata. 'Me re tla senya ntho e le' ngoe feela. Ha re nke litsamaiso tse 5 tse khethiloeng bakeng sa "tlholisano ea botle" ebe re khetha. Ke mang ea tla hlōla?

Redis

Re bala seo ba se ngolang webosaeteng ea semmuso.
Redis - morero oa opensource. E fana ka polokelo ea data ka memoring, bokhoni ba ho boloka ho disk, auto-partitioning, ho fumaneha ho phahameng le ho hlaphoheloa ha marang-rang.

Ho bonahala eka ntho e 'ngoe le e' ngoe e lokile, u ka e nka 'me ua e senya - ntho e 'ngoe le e' ngoe eo ue hlokang, e etsa joalo. Empa bakeng sa ho ithabisa feela, a re shebeng bonkgetheng ba bang.

EhCache

EhCache - "cache e sebelisoang haholo bakeng sa Java" (phetolelo ea lepetjo ho tsoa webosaeteng ea semmuso). Hape le opensource. 'Me joale rea utloisisa hore Redis ha se ea java, empa ka kakaretso, mme ho sebelisana le eona o hloka sekoahelo. 'Me EhCache e tla ba bonolo haholoanyane. Sistimi e ts'episa eng hape? Ho tšepahala, ho pakiloeng, ho sebetsa ka botlalo. Hantle, e boetse ke e atileng ka ho fetisisa. Le ho boloka li-terabytes tsa data.

Redis e lebetsoe, ke ikemiselitse ho khetha EhCache.

Empa maikutlo a ho rata naha a ntšusumelletsa ho bona se setle ka Tarantool.

Tarantool

Tarantool - e kopana le lebitso "Sethala sa ho kopanya data ka nako ea 'nete". E utloahala e rarahane haholo, kahoo re bala leqephe ka botlalo mme re fumana polelo e phahameng: "Caches 100% ea data ho RAM." Sena se lokela ho hlahisa lipotso - ka mor'a tsohle, ho ka ba le data e ngata ho feta mohopolo. Tlhaloso ke hore ho bolela hore Tarantool ha e tsamaise serialization ho ngola data ho disk ho tsoa mohopolong. Ho e-na le hoo, e sebelisa likarolo tse tlaase tsa tsamaiso, ha memori e etsoa 'mapa feela ho tsamaiso ea faele e nang le ts'ebetso e ntle haholo ea I / O. Ka kakaretso, ba ile ba etsa ntho e babatsehang le e pholileng.

Ha re shebeng ts'ebetsong: Tsela e kholo ea khoebo ea Mail.ru, Avito, Beeline, Megafon, Alfa-Bank, Gazprom ...

Haeba ho ne ho ntse ho e-na le lipelaelo mabapi le Tarantool, joale nyeoe ea ts'ebetsong ho Mastercard e ntšitisa. Ke nka Tarantool.

Leha ho le joalo…

Hlokomoloha

... ho na le tse ling hape Hlokomoloha, e lefisoa e le "sethala sa khomphutha sa memoring ... lebelo la memori ho li-petabytes tsa data." Ho boetse ho na le melemo e mengata mona: cache ea memori e abuoang, polokelo ea boleng bo potlakileng ka ho fetesisa le cache, sekala se otlolohileng, phumaneho e phahameng, botšepehi bo tiileng. Ka kakaretso, hoa bonahala hore lebelo ka ho fetisisa ke Ignite.

Ts'ebetsong: Sberbank, American Airlines, Yahoo! Japane. 'Me joale ke fumana hore Ignite ha e sebelisoe feela Sberbank, empa sehlopha sa SberTech se romela batho ba sona ho sehlopha sa Ignite ka boeona ho hloekisa sehlahisoa. Sena se khahla ka botlalo 'me ke ikemiselitse ho nka Ignite.

Ha ho hlake hantle hore na ke hobane'ng, ke shebile ntlha ea bohlano.

Hazelcast

Ke ea setšeng Hazelcast, ho bala. 'Me ho ile ha fumaneha hore tharollo e potlakileng bakeng sa caching e ajoang ke Hazelcast. Ke litaelo tsa boholo ka potlako ho feta litharollo tse ling kaofela 'me ka kakaretso ke moetapele tšimong ea marang-rang ea data ea memori. Khahlanong le semelo sena, ho nka ntho e 'ngoe ha se ho itlhompha. E boetse e sebelisa polokelo ea data e sa hlokahaleng bakeng sa ts'ebetso e tsoelang pele ea sehlopha ntle le tahlehelo ea data.

Ke phetho, ke se ke loketse ho nka Hazelcast.

Bapisa

Empa ha u sheba, bakhethoa ba bahlano kaofela ba hlalosoa ka tsela eo e mong le e mong oa bona a leng molemo ka ho fetisisa. Joang ho khetha? Re ka bona hore na ke efe e tummeng ka ho fetisisa, sheba lipapiso, 'me hlooho e bohloko e tla fela.

Re fumana e tšoanang le ena обзор, khetha litsamaiso tsa rona tse 5.

Kamoo rona ho Sportmaster re khethileng tsamaiso ea caching. Karolo ea 1

Li hlophisitsoe mona: Redis e holimo, Hazelcast e sebakeng sa bobeli, Tarantool le Ignite li ntse li tsebahala, EhCache e ntse e tšoana ebile e ntse e tšoana.

Empa ha re shebeng mokhoa oa ho bala: li-link tsa liwebsaete, thahasello e akaretsang tsamaisong, ho fana ka mesebetsi - e ntle! Ke hore, ha tsamaiso ea ka e hlōleha, ke tla re: “Che, e ka tšeptjoa! Ho na le menyetla e mengata ea mesebetsi. ”… Papiso e bonolo joalo e ke ke ea etsa.

Litsamaiso tsena kaofela ha se litsamaiso tsa caching feela. Ba boetse ba na le ts'ebetso e ngata, ho kenyelletsa le ha data e sa pompeloe ho mofani bakeng sa ts'ebetso, empa ka tsela e fapaneng: khoutu e lokelang ho etsoa ho data e fallela ho seva, e phethiloe moo, 'me sephetho se khutlisetsoa. 'Me ha li nkoe hangata e le sistimi e arohaneng ea caching.

Ho lokile, ha re tele, ha re fumaneng papiso e tobileng ea litsamaiso. Ha re nke likhetho tse peli tse holimo - Redis le Hazelcast. Re thahasella lebelo, 'me re tla li bapisa ho latela parameter ena.

Hz vs Redis

Re fumana sena papiso:
Kamoo rona ho Sportmaster re khethileng tsamaiso ea caching. Karolo ea 1

Boputsoa ke Redis, bofubelu ke Hazelcast. Hazelcast e hapa hohle, 'me ho na le lebaka la sena: e na le likhoele tse ngata, e ntlafalitsoe haholo, khoele e' ngoe le e 'ngoe e sebetsa ka karohano ea eona, kahoo ha ho na thibelo. 'Me Redis e na le khoele e le' ngoe; ha e rue molemo ho li-CPU tsa sejoale-joale tse ngata. Hazelcast e na le I/O ea asynchronous, Redis-Jedis e na le li-sockets tse thibelang. Ntle le moo, Hazelcast e sebelisa protocol ea binary, 'me Redis e shebana le mongolo, ho bolelang hore ha e sebetse.

Haeba ho ka etsahala, a re ke re shebeng mohloli o mong oa papiso. O tla re bontša eng?

Redis vs Hz

E 'ngoe papiso:
Kamoo rona ho Sportmaster re khethileng tsamaiso ea caching. Karolo ea 1

Mona, ho fapana le hoo, bofubelu ke Redis. Ke hore, Redis e feta Hazelcast mabapi le ts'ebetso. Hazelcast e hapile papiso ea pele, Redis e hapile ea bobeli. Hantle mona e hlalositse hantle hore na hobaneng Hazelcast e hapile papiso e fetileng.

Hoa etsahala hore sephetho sa ea pele se ne se hlile se qhekelloa: Redis e nkiloe ka lebokoseng la motheo, 'me Hazelcast e ne e etselitsoe nyeoe ea teko. Joale e hlaha: pele, re ke ke ra tšepa mang kapa mang, 'me ea bobeli, ha qetellong re khetha tsamaiso, re ntse re hloka ho e lokisa ka nepo. Litlhophiso tsena li kenyelletsa li-parameter tse ngata, tse ka bang makholo.

Ho sisinya botlolo

'Me nka hlalosa ts'ebetso eohle eo re e entseng hona joale ka papiso e latelang: "Ho sisinya botlolo." Ke hore, hona joale ha ho hlokahale hore u etse lenaneo, hona joale ntho e ka sehloohong ke ho khona ho bala stackoverflow. Mme ke na le motho sehlopheng sa ka, setsebi, ea sebetsang hantle joalo ka linako tse mahlonoko.

O etsang? O bona ntho e robehileng, o bona mohlala oa stack, o nka mantsoe a mang ho oona (ao e leng tsebo ea hae lenaneong), o batla ho Google, o fumana stackoverflow har'a likarabo. Ntle le ho bala, ntle le ho nahana, har'a likarabo tsa potso, o khetha ntho e tšoanang ka ho fetisisa le polelo "etsa sena le sane" (ho khetha karabo e joalo ke talenta ea hae, hobane hase kamehla karabo e ileng ea fumana ho rata haholo), e sebetsa, e shebahala: haeba ho na le ntho e fetohileng, joale e kholo. Haeba e sa fetohe, e khutlisetse morao. 'Me u phete ho qala-check-search. 'Me ka tsela ena e utloahalang, o etsa bonnete ba hore khoutu e sebetsa ka mor'a nako e itseng. Ha a tsebe lebaka, ha a tsebe seo a se entseng, ha a kgone ho hlalosa. Empa! Tšoaetso ena ea sebetsa. ’Me “mollo oa tima.” Joale a re boneng hore na re entse eng. Ha lenaneo le sebetsa, ke taelo ea boholo bo bonolo. 'Me e boloka nako e ngata.

Mokhoa ona o hlalosoa hantle haholo ka mohlala ona.

Ho kile ha tsebahala haholo ho bokella seketsoana sa seile ka botlolong. Ka nako e ts'oanang, seketsoana sa sekepe se seholo ebile se fokola, 'me molala oa botlolo o moqotetsane haholo, ho ke ke ha khoneha ho o sutumelletsa ka hare. Joang ho e kopanya?

Kamoo rona ho Sportmaster re khethileng tsamaiso ea caching. Karolo ea 1

Ho na le mokhoa o joalo, o potlakileng haholo le o sebetsang haholo.

Sekepe se na le sehlopha sa lintho tse nyenyane: lithupa, liropo, liseile, sekhomaretsi. Re kenya tsena tsohle ka botlolong.
Re nka botlolo ka matsoho a mabeli ebe re qala ho sisinyeha. Rea mo sisinya le ho mo sisinya. 'Me hangata e fetoha litšila tse felletseng, ehlile. Empa ka linako tse ling. Ka linako tse ling ho bonahala eka ke sekepe! Hantle-ntle, ntho e tšoanang le sekepe.

Re bontša sena ho motho e mong: "Seryoga, na ua bona!?" 'Me ka sebele, ho tloha hōle e shebahala joaloka sekepe. Empa sena se ke ke sa lumelloa ho tsoela pele.

Ho na le tsela e 'ngoe. Li sebelisoa ke bashanyana ba tsoetseng pele haholo, joalo ka hackers.

Ke file mohlankana enoa mosebetsi, o ile a etsa ntho e ’ngoe le e ’ngoe eaba oa tsamaea. 'Me u sheba - ho bonahala eka ho felile. 'Me ka mor'a nakoana, ha khoutu e hloka ho phethoa, sena se qala ka lebaka la hae ... Ho hotle hore ebe o se a ntse a khona ho balehela hōle. Bana ke bashanyana bao, ba sebelisa mohlala oa botlolo, ba tla etsa sena: u bona, moo tlase e leng teng, khalase e kobeha. 'Me ha e hlake ka botlalo hore na e pepenene kapa che. Joale "li-hackers" li khaola ka tlaase mona, li kenya sekepe moo, ebe li khomarela tlase hape, 'me ho joalokaha eka ke kamoo ho lokelang ho ba kateng.

Ho ea ka pono ea ho beha bothata, ntho e 'ngoe le e' ngoe e bonahala e nepahetse. Empa ho sebelisa likepe e le mohlala: ke hobane'ng ha u etsa sekepe sena ho hang, ke mang ea se hlokang leha ho le joalo? Ha e fane ka tšebetso efe kapa efe. Hangata likepe tse joalo ke limpho ho batho ba phahameng haholo, ba e behang holim'a sethalafo ka holim'a bona, e le mofuta o itseng oa letšoao, e le pontšo. ’Me haeba motho ea joalo, hlooho ea khoebo e khōlō kapa ofisiri e phahameng, folaga e tla ema joang bakeng sa ho qhekella ho joalo, hoo molala o khaotsoeng? Ho ka ba molemo ha a ne a sa tsebe ka eona. Joale, ba qetella ba entse likepe tsee tse ka fuoang motho oa bohlokoa?

Sebaka se le seng feela sa bohlokoa seo u hlileng u ke keng ua etsa letho ka sona ke 'mele. 'Me mokokotlo oa sekepe o kena hantle molaleng. Athe sekepe se bokane ka ntle ho botlolo. Empa ha se feela ho kopanya sekepe, ke mosebetsi oa sebele oa mabenyane. Li-levers tse khethehileng li kenngoa likarolong, ebe li li lumella hore li phahamisoe. Ka mohlala, liseile li phuthetsoe, li kenngoa ka hloko ka hare, ebe, ka thuso ea li-tweezers, li hula le ho phahamisoa ka mokhoa o nepahetseng haholo, ka ho nepahala. Phello ke mosebetsi oa bonono o ka fuoang letsoalo le hloekileng le boikhohomoso.

'Me haeba re batla hore morero ona o atlehe, bonyane ho tlameha hore ho be le lehakoe le le leng sehlopheng. Motho ea tsotellang boleng ba sehlahisoa mme o nahanela likarolo tsohle, ntle le ho tela letho, esita le nakong ea khatello ea maikutlo, ha maemo a hloka ho etsa lintho tse potlakileng ka litšenyehelo tsa bohlokoa. Merero eohle e atlehileng e tšoarellang, e bileng le nako e telele, e hahiloe holim'a molao-motheo ona. Ho na le ntho e nepahetseng haholo le e ikhethang ka bona, e leng ntho e nkang monyetla ka menyetla eohle e teng. Mohlala o nang le sekepe ka botlolo, taba ea hore sekepe sa sekepe se feta molaleng se bapaloa.

Ha re khutlela mosebetsing oa ho khetha seva sa rona sa caching, mokhoa ona o ka sebelisoa joang? Ke fana ka khetho ena ea ho khetha lits'ebetsong tsohle tse teng - u se ke ua sisinya botlolo, u se ke ua khetha, empa sheba seo ba nang le sona ka molao-motheo, seo u lokelang ho se sheba ha u khetha tsamaiso.

Moo u ka batlang botlolo-molala

A re leke hore re se ke ra sisinya botlolo, re se ke ra feta ntho e 'ngoe le e' ngoe e teng ka bonngoe, empa a re boneng hore na mathata a tla hlaha haeba ka tšohanyetso, bakeng sa mosebetsi oa rona, re iketsetsa tsamaiso e joalo ka borōna. Ha e le hantle, re ke ke ra bokella baesekele, empa re tla sebelisa setšoantšo sena ho re thusa ho fumana hore na ke lintlha life tseo re lokelang ho li ela hloko litlhalosong tsa lihlahisoa. Ha re seke setšoantšo se joalo.

Kamoo rona ho Sportmaster re khethileng tsamaiso ea caching. Karolo ea 1

Haeba tsamaiso e ajoa, joale re tla ba le li-server tse 'maloa (6). Ha re re ho na le tse 'nè (ho bonolo ho li beha setšoantšong, empa, ho hlakile, ho ka ba le tse ngata kamoo u ratang kateng). Haeba li-server li le li-node tse fapaneng, ho bolela hore kaofela li tsamaisa khoutu e itseng e ikarabellang bakeng sa ho netefatsa hore li-node tsena li theha sehlopha 'me, ha ho etsahala khefu, li kopanya le ho tsebana.

Re boetse re hloka code logic (2), eo ha e le hantle e mabapi le caching. Bareki ba sebelisana le khoutu ena ka API e itseng. Khoutu ea bareki (1) e ka ba ka har'a JVM e tšoanang kapa ea e fumana ka marang-rang. Monahano o kentsoeng tšebetsong ka hare ke qeto ea hore na ke lintho life tse lokelang ho tloheloa ka har'a cache le hore na li lahlele eng. Re sebelisa memori (3) ho boloka cache, empa haeba ho hlokahala, re ka boloka tse ling tsa data ho disk (4).

A re boneng hore na mojaro o tla hlaha likarolong life. Ha e le hantle, motsu o mong le o mong le node e 'ngoe le e' ngoe e tla kenngoa. Ntlha ea pele, pakeng tsa khoutu ea bareki le api, haeba sena ke puisano ea marang-rang, ho fokotseha ho ka bonahala haholo. Taba ea bobeli, ka har'a moralo oa api ka boeona - haeba re e feta ka mokhoa o rarahaneng, re ka kena mathateng le CPU. 'Me ho ka ba monate haeba logic e sa senye nako mohopolong. 'Me ho ntse ho e-na le tšebelisano le tsamaiso ea lifaele - ka mokhoa o tloaelehileng sena ke serialize / tsosolosa le ho ngola / ho bala.

E latelang ke ho sebelisana le sehlopha. Ho ka etsahala hore ebe e tla ba tsamaisong e le 'ngoe, empa e ka ba ka thoko. Mona hape o hloka ho ela hloko phetisetso ea data ho eona, lebelo la serialization ea data le litšebelisano lipakeng tsa sehlopha.

Hona joale, ka lehlakoreng le leng, re ka inahanela hore na "li-gears li tla fetola eng" tsamaisong ea cache ha re sebetsana le likōpo tse tsoang ho khoutu ea rona, 'me ka lehlakoreng le leng, re ka hakanya hore na khoutu ea rona e tla hlahisa eng le hore na ke likopo tse kae tse tla hlahisa tsamaiso ena. Sena se lekane ho etsa khetho e hlokolosi kapa e fokolang - ho khetha sistimi bakeng sa nyeoe ea rona ea ts'ebeliso.

Hazelcast

Ha re boneng mokhoa oa ho sebelisa ho bola hona lethathamong la rona. Ka mohlala, Hazelcast.

Bakeng sa ho beha / ho nka data ho tsoa Hazelcast, khoutu ea bareki e fihlella (1) api. Hz e u lumella ho tsamaisa seva joalo ka ha e kentsoe, 'me ntlheng ena, ho fihlella api ke mohala oa mokhoa ka har'a JVM, o ka nkoang o lokolohile.

E le hore logic ho (2) e sebetse, Hz e itšetlehile ka hash ea "byte array" ea senotlolo sa serialized - ke hore, senotlolo se tla aroloa ka mokhoa ofe kapa ofe. Sena se ke ke sa qojoa ka holimo ho Hz.
Mekhoa ea ho leleka e sebelisoa hantle, empa bakeng sa linyeoe tse khethehileng u ka eketsa tsa hau. Ha ho hlokahale hore u tšoenyehe ka karolo ena.

Polokelo (4) e ka kopanngoa. E kholo. Tšebelisano (5) bakeng sa embedded e ka nkoa hang-hang. Phapanyetsano ea data lipakeng tsa li-node sehlopheng (6) - e, e teng. Ena ke letsete la ho mamella liphoso ka litšenyehelo tsa lebelo. Karolo ea Hz Near-cache e u lumella ho fokotsa theko - data e amohetsoeng ho tsoa ho li-node tse ling sehlopheng e tla bolokoa.

Ho ka etsoa eng maemong a joalo ho eketsa lebelo?

Ka mohlala, ho qoba serialization ea senotlolo ho (2) - hokela cache e 'ngoe holim'a Hazelcast, bakeng sa lintlha tse chesang ka ho fetisisa. Sportmaster o ile a khetha Caffeine bakeng sa morero ona.

Bakeng sa ho sotha boemong ba (6), Hz e fana ka mefuta e 'meli ea polokelo: IMap le ReplicatedMap.
Kamoo rona ho Sportmaster re khethileng tsamaiso ea caching. Karolo ea 1

Ho bohlokoa ho bolela hore na Hazelcast e kene joang mokotleng oa theknoloji ea Sportmaster.

Ka 2012, ha re ntse re sebetsa ho mofofisi oa pele oa sebaka sa kamoso, e ne e le Hazelcast e ileng ea fetoha sehokelo sa pele seo enjene ea ho batla e ileng ea khutla. Motsoalle o qalile "khetlo la pele" - re ile ra khahloa ke taba ea hore lihora tse peli hamorao, ha re kenya Hz ka har'a sistimi, e ile ea sebetsa. Mme e sebeditse hantle. Qetellong ea letsatsi re ne re qetile liteko tse 'maloa 'me re thabile. 'Me pokello ena ea matla e ne e lekane ho hlola lintho tse makatsang tseo Hz a li lahlileng ha nako e ntse e ea. Hona joale sehlopha sa Sportmaster ha se na lebaka la ho lahla Hazelcast.

Empa likhang tse kang "sehokelo sa pele ho enjene ea ho batla" le "HelloWorld e ile ea bokelloa ka potlako" ehlile, ke mokhelo le tšobotsi ea nako eo khetho e etsahetseng ka eona. Liteko tsa 'nete tsa sistimi e khethiloeng li qala ka ho lokolloa tlhahiso,' me ke mothating ona moo u lokelang ho ela hloko ha u khetha sistimi efe kapa efe, ho kenyelletsa le cache. Ha e le hantle, tabeng ea rona re ka re re khethile Hazelcast ka phoso, empa joale ho ile ha fumaneha hore re khethile ka nepo.

Bakeng sa tlhahiso, ho bohlokoa haholo: ho beha leihlo, ho sebetsana le mefokolo ho li-node tsa motho ka mong, phetisetso ea data, litšenyehelo tsa ho lekanya. Ke hore, ke habohlokoa ho ela hloko mesebetsi e tla hlaha nakong ea tlhokomelo ea tsamaiso - ha mojaro o phahame ka makhetlo a mashome ho feta kamoo ho neng ho reriloe kateng, ha ka phoso re kenya ntho sebakeng se fosahetseng, ha re hloka ho hlahisa phetolelo e ncha. ea khoutu, nka sebaka sa data mme u e etse e sa hlokomeloe bakeng sa bareki.

Bakeng sa litlhoko tsena kaofela, Hazelcast e hlile e lumellana le bili.

E tla ntšetsoa pele

Empa Hazelcast ha se panacea. Ka 2017, re khethile Hazelcast bakeng sa cache ea admin, e ipapisitse le maikutlo a matle a boiphihlelo ba nakong e fetileng. Sena se ile sa phetha karolo ea bohlokoa motlae o sehlōhō haholo, ka lebaka leo re ileng ra iphumana re le boemong bo thata 'me "ka bohale" re tsoa ho sona ka matsatsi a 60. Empa ho feta ka seo karolong e latelang.

Khabareng ... Happy New Code!

Source: www.habr.com

Eketsa ka tlhaloso