Sida Yandex.Market raadinta u shaqeyso iyo waxa dhacaya haddii mid ka mid ah server-yada uu ku guuldareysto

Hello, magacaygu waa Evgeniy. Waxaan ka shaqeeyaa kaabayaasha raadinta Yandex.Market. Waxaan rabaa inaan beesha Habr uga sheego jikada gudaha ee Suuqa - wax badanna waan hayaa. Ugu horrayn, sida goob-raadinta Suuqa u shaqeyso, habraacyada iyo qaab-dhismeedka. Sideen ula macaamilnaa xaaladaha degdegga ah: maxaa dhacaya haddii hal server uu hoos u dhaco? Maxaa dhacaya haddii ay jiraan 100 server oo noocaas ah?

Waxa kale oo aad baran doontaa sida aan u hirgelino shaqeyn cusub oo farabadan server hal mar. Iyo sida aan u tijaabino adeegyada adag ee tooska ah ee wax soo saarka, iyada oo aan wax dhib ah u keenin isticmaalayaasha. Guud ahaan, sida goob-raadinta Suuqyadu u shaqeyso si qof walba u helo waqti fiican.

Sida Yandex.Market raadinta u shaqeyso iyo waxa dhacaya haddii mid ka mid ah server-yada uu ku guuldareysto

In yar oo nagu saabsan: waa maxay dhibaatada aan xalliyo

Markaad qoraal geliso, ka raadi badeecada cabir ahaan, ama is barbar dhig qiimayaasha dukaamada kala duwan, dhammaan codsiyada waxa loo diraa adeega raadinta. Raadinta waa adeegga ugu weyn ee Suuqa.

Waxaan ka baaraandegi karnaa dhammaan codsiyada raadinta: laga bilaabo goobaha market.yandex.ru, beru.ru, adeegga Supercheck, Yandex.Advisor, codsiyada moobiilka. Waxaan sidoo kale ku darnaa soo jeedinta alaabta ee natiijooyinka raadinta yandex.ru.

Sida Yandex.Market raadinta u shaqeyso iyo waxa dhacaya haddii mid ka mid ah server-yada uu ku guuldareysto

Adeegga raadinta waxaan ula jeedaa ma aha oo kaliya raadinta lafteeda, laakiin sidoo kale xog ururin leh dhammaan dalabyada Suuqa. Cabbirku waa kan: in ka badan bilyan codsiyo raadin ayaa la farsameeyaa maalintii. Wax walbana waa inay si dhakhso ah u shaqeeyaan, iyada oo aan la joojin oo had iyo jeer soo saaraan natiijada la rabo.

Waa maxay: Naqshadaynta suuqa

Waxaan si kooban u tilmaami doonaa qaab-dhismeedka Suuqa ee hadda. Waxaa qiyaas ahaan lagu sifeyn karaa jaantuska hoose:
Sida Yandex.Market raadinta u shaqeyso iyo waxa dhacaya haddii mid ka mid ah server-yada uu ku guuldareysto
Aynu nidhaahno dukaanka lammaanuhu noo yimaad. Waxa uu yidhi waxaan rabaa in aan iibiyo toy: bisadan sharka leh ee qeylada leh. Iyo bisad kale oo cadhaysan oo aan qeylin. Iyo bisad kaliya. Markaa bakhaarku waxa uu u baahan yahay in uu diyaariyo dalabyada uu suuqu u raadiyo. Bakhaarku waxa uu soo saara xml gaar ah oo wata dalabyo waxana uu la xidhiidhaa dariiqa xml-kan iyada oo loo marayo is-dhexgalka xidhiidhka. Tusiyaha ayaa markaa si xilliyo ah u soo dejinaya xml-kan, isaga oo eegaya khaladaadka oo waxa uu kaydiyaa dhammaan macluumaadka kaydka kaydka weyn.

Waxa jira xmls badan oo caynkaas ah oo la badbaadiyay. Tusiyaha raadinta ayaa laga sameeyay xogtan. Tusmada waxaa lagu kaydiyaa qaab gudaha ah. Kadib abuurista tusaha, adeega Layout waxa uu ku shubaa server-yada raadinta.

Natiijo ahaan, bisad cadhaysan oo leh qaylo-dhaan ayaa ka muuqda kaydka xogta, tusmada bisadu waxay ka muuqataa server-ka.

Waxaan kuu sheegi doonaa sida aan u raadino bisad qaybta ku saabsan qaab-dhismeedka raadinta.

Nashqada raadinta suuqa

Waxaan ku noolnahay adduun adeeg-yaro: codsi kasta oo soo gala suuqa.yandex.ru sababa su'aalo badan, iyo daraasiin adeegyo ah ayaa ku lug leh habayntooda. Jaantusku waxa uu tusinayaa dhawr uun:

Sida Yandex.Market raadinta u shaqeyso iyo waxa dhacaya haddii mid ka mid ah server-yada uu ku guuldareysto
Habka habaynta codsiga la fududeeyay

Adeeg kastaa wuxuu leeyahay shay cajiib ah - dheellitirkiisa oo leh magac gaar ah:

Sida Yandex.Market raadinta u shaqeyso iyo waxa dhacaya haddii mid ka mid ah server-yada uu ku guuldareysto

Isku-dheellitirku wuxuu na siinayaa dabacsanaan weyn xagga maareynta adeegga: waxaad kartaa, tusaale ahaan, demi kartaa server-yada, kaas oo inta badan looga baahan yahay cusbooneysiinta. Xisaabiyehu waxa uu arkaa in seerfarku aan la heli karin oo si toos ah u jiheeya codsiyada adeegayaasha kale ama xarumaha xogta. Marka lagu daro ama la saarayo server, culayska si toos ah ayaa dib loogu qaybiyaa inta u dhaxaysa server-yada.

Magaca gaarka ah ee xisaabiyehu kuma xidhna xarunta xogta. Marka adeega A uu ka codsado B, ka dib dheelitiriyaha caadiga ah B wuxuu u weeciyaa codsiga xarunta xogta hadda jirta. Haddii adeeggu aanu jirin ama aanu ka jirin xarunta xogta hadda jirta, markaas codsiga waxa loo weeciyey xarumaha kale ee xogta.

Hal FQDN ee dhammaan xarumaha xogta waxay u oggolaaneysaa adeegga A inuu gebi ahaanba ka soo baxo meelaha. Codsigiisa adeega B had iyo jeer waa laga baaraandegi doonaa. Marka laga reebo waa kiiska marka adeeggu ku yaal dhammaan xarumaha xogta.

Laakiin wax walba maaha kuwo aad u qurux badan oo leh dheelitiriyahan: waxaan leenahay qayb dhexdhexaad ah oo dheeraad ah. Isku-dheellitirku waxa laga yaabaa inuu yahay mid aan degganayn, waxaana dhibaatadan lagu xalliyaa adeegayaal aan badnayn. Waxa kale oo jira dib u dhac dheeraad ah oo u dhexeeya adeegyada A iyo B. Laakiin ficil ahaan way ka yar tahay 1 ms oo badi adeegyada tani maaha mid muhiim ah.

Wax ka qabashada waxyaabaha lama filaanka ah: Isku dheelitirnaanta Adeegga Raadinta iyo Adkeysiga

Bal qiyaas in uu jiro burbur: waxaad u baahan tahay inaad hesho bisad leh qaylo-dhaan, laakiin server-ka ayaa burburay. Ama 100 server. Sidee looga bixi karaa? Ma run ahaantii ma ka tagaynaa isticmaalaha bisad la'aan?

Xaaladdu waa cabsi, laakiin diyaar ayaan u nahay. Waxaan kuu sheegi doonaa sida ay u kala horreeyaan.

Kaabayaasha raadinta waxay ku yaalliin dhowr xarumood oo xog:

Sida Yandex.Market raadinta u shaqeyso iyo waxa dhacaya haddii mid ka mid ah server-yada uu ku guuldareysto

Marka nakhshadeynta, waxaan ku darnaa suurtagalnimada in la xiro hal xarun xogta. Noloshu waxaa ka buuxa yaabab - tusaale ahaan, Qodista ayaa goyn kara fiilada dhulka hoostiisa ah (haa, taasi way dhacday). Awoodda xarumaha xogta ee hadhay waa inay ahaato mid ku filan inay u adkeystaan ​​culeyska ugu sarreeya.

Aynu tixgelinno xarun xogeed oo keliya. Xarun kasta oo xogeed waxay leedahay qorshe hawleedka dheellitirka isku mid ah:

Sida Yandex.Market raadinta u shaqeyso iyo waxa dhacaya haddii mid ka mid ah server-yada uu ku guuldareysto
Hal dheelitiriye waa ugu yaraan saddex adeegayaal jireed. Dib-u-celintan waxaa loo sameeyay isku hallayn. Balancers waxay ku shaqeeyaan HAProx.

Waxaan dooranay HAProx sababtoo ah waxqabadkeeda sare, shuruudaha kheyraadka hooseeya iyo shaqeynta ballaaran. Software-kayaga raadinta wuxuu ku shaqeeyaa gudaha server kasta.

Suurtagalnimada in hal server uu xumaado waa yar tahay. Laakiin haddii aad leedahay server-yo badan, suurtagalnimada in ugu yaraan mid hoos u dhaco ayaa kordheysa.

Tani waa waxa ku dhacaya xaqiiqda: server-yada ayaa burburay. Sidaa darteed, waa lagama maarmaan in si joogto ah loola socdo xaaladda dhammaan server-yada. Haddii seerfarku uu joojiyo ka jawaabista, si toos ah ayaa looga gooyaa taraafikada. Ujeedadan awgeed, HAProxy waxay leedahay hubin caafimaad oo ku dhex dhisan. Waxay ku socotaa dhammaan server-yada hal mar ilbiriqsi iyadoo wadata codsi HTTP "/ ping".

Muuqaal kale oo ka mid ah HAProxy: wakiil-jeeg ayaa kuu ogolaanaysa inaad si siman u dhejiso dhammaan server-yada. Si tan loo sameeyo, HAProxy waxay kuxirantahay dhammaan server-yada, waxayna soo celiyaan miisaankooda iyadoo ku xiran culeyska hadda jira ee 1 ilaa 100. Miisaanka waxaa lagu xisaabiyaa iyadoo lagu saleynayo tirada codsiyada safka loogu talagalay farsamaynta iyo culeyska processor-ka.

Hadda ku saabsan helitaanka bisadda. Natiijooyinka raadinta ee codsiyada sida: /search?text=Bisad+ xanaaqsan. Si baadhistu u noqoto mid degdeg ah, tusmada bisadaha oo dhami waa inay ku habboonaato RAM. Xataa wax akhriska SSD-gu kuma filna.

Beri hore, kaydka macluumaadka la bixinayo wuu yaraa, RAM-ka hal server ayaa ku filan. Markii saldhigga bixinta koray, wax walba kuma habboona RAM-kan, xogtana waxaa loo qaybiyay laba qaybood: shard 1 iyo shard 2.

Sida Yandex.Market raadinta u shaqeyso iyo waxa dhacaya haddii mid ka mid ah server-yada uu ku guuldareysto
Laakiin tani had iyo jeer way dhacdaa: xal kasta, xitaa mid wanaagsan, wuxuu keenaa dhibaatooyin kale.

Isku-dheellitirka ayaa wali tagay server kasta. Laakiin mishiinka uu codsigu yimid, waxaa jiray kala badh tusmada. Inta soo hartay waxay ku jirtay server-yada kale. Sidaa darteed, server-ku wuxuu ku qasbanaaday inuu tago qaar ka mid ah mashiinka deriska ah. Ka dib markii la helo xogta labada server, natiijooyinka waa la isku daray oo dib ayaa loo bedelay.

Mar haddii xisaabiyehu uu si siman u qaybiyo codsiyada, dhammaan adeegayaashu waxa ay ku hawlanaayeen dib-u-qiimaynta, oo kaliya maaha in ay diraan xogta.

Dhibaatadu waxay dhacday haddii serfarka deriska ah aan la heli karin. Xalku wuxuu ahaa in la cayimo dhowr server oo leh mudnaano kala duwan sidii server "deris" ah. Marka hore, codsiga waxaa loo diray server-yada ku jira rack hadda. Haddii aysan jirin jawaab, codsiga waxaa loo diray dhammaan server-yada xaruntan xogta. Ugu dambeyntiina, codsigu wuxuu aaday xarumaha kale ee xogta.
Markay tirada soo jeedintu korodhay, xogta waxa loo qaybiyay afar qaybood. Laakiin tani ma ahayn xadka.

Hadda, qaabeynta sideed shards ayaa la isticmaalaa. Intaa waxaa dheer, si loo badbaadiyo xitaa xusuusta badan, tusmada waxaa loo qaybiyay qayb goobeed (oo loo isticmaalo raadinta) iyo qayb yar (oo aan ku lug lahayn raadinta).

Hal server ayaa ka kooban macluumaadka hal jeex oo keliya. Sidaa darteed, si aad u raadiso tusaha buuxa, waxaad u baahan tahay inaad ka raadiso siddeed server oo ka kooban shards kala duwan.

Adeegayaasha waxa loo qaybiyaa rucubyo. Kutlad kastaa waxay ka kooban tahay siddeed matoorada raadinta iyo hal server oo goos goos ah.

Sida Yandex.Market raadinta u shaqeyso iyo waxa dhacaya haddii mid ka mid ah server-yada uu ku guuldareysto
Seerarka goos goosku waxa uu wadaa xog-qiimo muhiim ah oo wata xog taagan. Waxay u baahan yihiin inay soo saaraan dukumentiyo, tusaale ahaan, sharraxaadda bisadda leh qaylo-dhaan. Xogta waxaa si gaar ah loogu wareejiyaa server gaar ah si aan loo shubin xusuusta server-yada raadinta.

Maadaama aqoonsiyada dukumeentigu ay gaar u yihiin hal tusmooyin oo keliya, xaalad ayaa iman karta marka aanay jirin dukumeentiyo yar yar. Hagaag, ama taas hal aqoonsi waxaa jiri doona waxyaabo kala duwan. Sidaa darteed, si goobiddu u shaqeyso, natiijadana loo soo celiyo, waxaa loo baahday joogtaynta dhammaan kooxda. Hoos waxaan kuugu sheegi doonaa sida aan ula socono joogtaynta.

Raadinta lafteeda ayaa loo qaabeeyey sida soo socota: Codsiga raadinta wuxuu ku imaan karaa mid kasta oo ka mid ah siddeedda server. Aynu nidhaahno wuxuu u yimid server-ka 1. Server-kani wuxuu farsameeyaa dhammaan doodaha wuxuuna fahmayaa waxa iyo sida loo raadiyo. Iyadoo ku xiran codsiga soo socda, server-ku wuxuu sameyn karaa codsiyo dheeraad ah adeegyada dibadda ee macluumaadka lagama maarmaanka ah. Hal codsi waxaa raaci kara ilaa toban codsi oo ku wajahan adeegyada dibadda.

Ka dib markii la ururiyo macluumaadka lagama maarmaanka ah, raadintu waxay ka bilaabataa kaydka macluumaadka. Si taas loo sameeyo, su'aalo-hoosaadyo ayaa la sameeyaa dhammaan siddeedda server ee kutlada.

Marka jawaabaha la helo, natiijooyinka waa la isku daraa. Dhammaadka, dhowr su'aalood oo dheeraad ah oo ku saabsan server-ka jajaban ayaa laga yaabaa in loo baahdo si loo soo saaro natiijooyinka.

Raadinta weydiimaha kutlada dhexdeeda waxay u egyihiin: /shard1?text=Bisad+ xanaaqsan. Intaa waxaa dheer, su'aalo-hoosaadyada foomka si joogto ah ayaa loo sameeyaa inta u dhaxaysa dhammaan server-yada ku jira kutlada hal mar ilbiriqsi: /xaalad.

Codso /xaalad ogaanaya xaalad meesha server-ka aan la heli karin.

Waxa kale oo ay maamushaa in nooca mashiinka raadinta iyo nooca index ay isku mid yihiin dhammaan server-yada, haddii kale waxaa jiri doona xog aan is waafaqsanayn gudaha kutlada.

In kasta oo xaqiiqda ah in mid ka mid ah server-ka jajaban uu ka baaraandegayo codsiyada sideed matoorada raadinta, processor-kiisu aad buu u fudud yahay. Sidaa darteed, waxaan hadda u wareejineynaa xogta gooska adeeg gaar ah.

Sida Yandex.Market raadinta u shaqeyso iyo waxa dhacaya haddii mid ka mid ah server-yada uu ku guuldareysto

Si loo wareejiyo xogta, waxaan soo bandhignay furayaasha caalamiga ah ee dukumentiyada. Hadda waa wax aan suurtagal ahayn xaalad halkaas oo nuxurka dukumeenti kale lagu soo celiyay hal fure.

Laakin u gudubka qaab dhismeedka kale weli ma dhameystirna. Hadda waxaan rabnaa inaan ka takhalusno server-ka googo'an. Ka dibna gabi ahaanba ka guur dhismaha kooxda. Tani waxay noo ogolaan doontaa inaan sii wadno miisaanka si fudud. Gunnada dheeraadka ah waa kaydka birta ee muhiimka ah.

Oo hadda sheekooyinka cabsida leh ee dhamaadka farxadda leh. Aynu tixgelinno dhowr xaaladood oo maqnaanshaha server-ka.

Wax aad u xun ayaa dhacay: hal server lama heli karo

Aynu nidhaahno hal server lama heli karo Markaas server-yada haray ee kooxda way sii wadi karaan inay ka jawaabaan, laakiin natiijooyinka raadinta waxay noqon doonaan kuwo aan dhammaystirnayn.

Iyadoo loo marayo hubinta heerka /xaalad server-yada deriska ah waxay fahmeen in mid aan la heli karin. Sidaa darteed, si loo ilaaliyo dhammaystirka, dhammaan server-yada ku jira kutlada codsi kasta /ping waxay bilaabayaan inay uga jawaabaan xisaabiyaha in iyagana aan la heli karin. Waxaa soo baxday in dhammaan server-yadii kooxda ku jiray ay dhinteen (taas oo aan run ahayn). Tani waa cilladda ugu weyn ee nidaamka kooxdayada - waana sababta aan u dooneyno inaan ka fogaano.

Sida Yandex.Market raadinta u shaqeyso iyo waxa dhacaya haddii mid ka mid ah server-yada uu ku guuldareysto

Codsiyada ku guul-darraysta khaladka waxa ka cadhoodaa xisaab-xidhaha seerfarada kale.
Xisaabiyaha ayaa sidoo kale joojiya u dirida taraafikada isticmaalaha server-yada dhintay, laakiin wuxuu sii wadaa hubinta xaaladdooda.

Marka serverku diyaar noqdo, wuxuu bilaabaa inuu ka jawaabo /ping. Sida ugu dhakhsaha badan jawaabaha caadiga ah ee pings-yada ka imanaya server-yada dhintay ay bilaabaan inay yimaadaan, miisaan-hayayaashu waxay bilaabaan inay u diraan taraafikada isticmaalaha halkaas. Hawlgalka kooxda waa la soo celiyay, dhaqso.

Waxaaba ka sii daran: servero badan lama heli karo

Qayb muhiim ah oo ka mid ah server-yada xarunta xogta waa la jaray. Maxaa la sameeyaa, halkee loo ordayaa? Isku-dheellitirku mar kale ayuu u soo gurmaday. Mid kasta oo dheelli tiran waxa uu si joogto ah u kaydiyaa xusuusta tirada hadda ee adeegayaasha nool. Waxay si joogto ah u xisaabisaa tirada ugu badan ee taraafikada ee ay xarunta xogta hadda shaqayn karto.

Marka adeegayaal badan oo ku jira xarun xogeed ay hoos u dhacaan, miisaamiyaha ayaa ogaanaya in xaruntan xogta aysan socodsiin karin dhammaan taraafikada.

Dabadeed taraafikada xad-dhaafka ah waxay bilaabataa in si aan kala sooc lahayn loogu qaybiyo xarumaha kale ee xogta. Wax walba way shaqeeyaan, qof kastaa wuu faraxsan yahay.

Sida Yandex.Market raadinta u shaqeyso iyo waxa dhacaya haddii mid ka mid ah server-yada uu ku guuldareysto

Sida aan u samayno: daabacaadda sii daynta

Hadda aan ka hadalno sida aan u daabacno isbeddelada lagu sameeyay adeegga. Halkan waxaan qaadnay dariiqa fududaynta hababka: soo saarista siidaynta cusub waxay ku dhowdahay si toos ah.
Marka tiro cayiman oo isbeddel ah lagu ururiyo mashruuca, siideyn cusub ayaa si toos ah loo abuurayaa dhismihiisana wuu bilaabmayaa.

Sida Yandex.Market raadinta u shaqeyso iyo waxa dhacaya haddii mid ka mid ah server-yada uu ku guuldareysto

Kadibna adeegga ayaa loo rogaa si loo tijaabiyo, halkaas oo xasiloonida hawlgalka lagu hubiyo.

Isla mar ahaantaana, tijaabada waxqabadka tooska ah ayaa la bilaabay. Tan waxa gacanta ku haya adeeg gaar ah. Hadda kama hadli doono - tilmaanteedu waxay u qalantaa maqaal gaar ah.

Haddi daabacaada imtixaanku uu guulaysto, daabacaadda siideynta ee prestable ayaa si toos ah loo bilaabayaa. Prestable waa koox gaar ah halkaas oo taraafikada isticmaalaha caadiga ah lagu hago. Haddii ay soo celiso khalad, miisaan-ilaaliyehu wuxuu sameeyaa codsi dib-u-soo-saarka.

La saadaalin karo, wakhtiyada jawaabta waa la cabbiraa waxaana la barbar dhigayaa sii dayntii hore ee wax soo saarka. Haddii wax waliba ay fiican yihiin, markaa qofku wuxuu isku xiraa: wuxuu fiiriyaa garaafyada iyo natiijooyinka baaritaanka culeyska ka dibna wuxuu bilaabayaa inuu u soo baxo wax soo saarka.

Waxa ugu wanaagsan oo dhan waxay u socotaa isticmaalaha: Imtixaanka A/B

Mar walba ma cadda in isbeddellada lagu sameeyo adeegga ay keeni doonaan faa'iidooyin dhab ah. Si loo cabbiro faa'iidada isbeddellada, dadku waxay la yimaadeen tijaabada A/B. Waxaan wax yar kaaga sheegi doonaa sida ay ugu shaqeyso raadinta Yandex.Market.

Dhammaantood waxay ka bilaabmaan ku daridda cabbirka cusub ee CGI oo awood u siinaya hawlqabad cusub. Halbeeggayagu ha ahaado: market_new_functionality=1. Markaa koodka waxaan awood u siineynaa shaqeyntan haddii calanku jiro:

If (cgi.experiments.market_new_functionality) {
// enable new functionality
}

Shaqo cusub ayaa loo soo bandhigayaa wax soo saarka.

Si loo toosiyo tijaabada A/B, waxa jira adeeg u go'ay oo bixiya macluumaad faahfaahsan halkan lagu tilmaamay. Tijaabo ayaa lagu abuuray adeegga. Saamiga taraafikada waxaa loo dejiyay, tusaale ahaan, 15%. Boqolleyda looma dejin su'aalaha, laakiin isticmaalayaasha Muddada tijaabada ayaa sidoo kale lagu tilmaamay, tusaale ahaan, toddobaad.

Tijaabooyin dhowr ah ayaa isku mar la wada wadi karaa. Goobaha waxaad ku qeexi kartaa in isgoysyada tijaabooyinka kale ay suurtagal tahay.

Natiijo ahaan, adeeggu wuxuu si toos ah ugu darayaa dood market_new_functionality=1 ilaa 15% isticmaalayaasha. Waxay sidoo kale si toos ah u xisaabinaysaa cabbirada la doortay. Ka dib marka tijaabada la dhammeeyo, falanqeeyayaashu waxay eegaan natiijooyinka waxayna soo saaraan gabagabada. Iyada oo ku saleysan natiijooyinka, go'aan ayaa la sameeyaa si loo soo saaro wax soo saarka ama hagaajinta.

Gacanta qallafsan ee suuqa: tijaabinta wax soo saarka

Inta badan waxay dhacdaa in aad u baahan tahay inaad tijaabiso hawlgalka cusub ee wax soo saarka, laakiin ma hubin sida ay u dhaqmi doonto xaaladaha "dagaalka" ee culeyska culus.

Waxaa jira xal: calamada ku jira xuduudaha CGI waxaa loo isticmaali karaa oo keliya tijaabada A / B, laakiin sidoo kale si loo tijaabiyo shaqeyn cusub.

Waxaan samaynay qalab kuu ogolaanaya inaad si degdeg ah u beddesho qaabeynta kumanaan server ah adiga oo aan soo bandhigin adeegga khataraha. Waxa loo yaqaan "Stop Tap". Fikradda asalka ah waxay ahayd in la awoodo in si dhakhso ah loo joojiyo qaar ka mid ah shaqeynta iyada oo aan lahayn qaabayn. Kadibna qalabku wuu balaadhay oo noqday mid aad u adag.

Jaantuska socodka adeegga ayaa lagu soo bandhigay hoos:

Sida Yandex.Market raadinta u shaqeyso iyo waxa dhacaya haddii mid ka mid ah server-yada uu ku guuldareysto

Qiimaha calanka waxaa lagu dejiyay API. Adeegga maamulka waxa uu ku kaydiyaa qiyamkan kaydka xogta. Dhammaan server-yada waxay tagaan xogta hal mar tobankii ilbiriqsi, soo saar qiyamka calanka oo ku dabaq qiyamkan codsi kasta.

Tuubada joogsiga waxaad dejin kartaa laba nooc oo qiyam ah:

1) Tibaaxo shuruudaysan. Codso marka mid ka mid ah qiyamka uu run yahay. Tusaale ahaan:

{
	"condition":"IS_DC1",
	"value":"3",
}, 
{
	"condition": "CLUSTER==2 and IS_BERU", 
	"value": "4!" 
}

Qiimaha "3" ayaa lagu dabaqi doonaa marka codsiga laga shaqeeyo goobta DC1. Qiimuhuna waa "4" marka codsiga laga baaraandego kooxda labaad ee goobta beru.ru.

2) Qiimaha aan shuruudda lahayn. Codso si macquul ah haddii shuruudaha midkoodna aan la buuxin. Tusaale ahaan:

qiimo, qiimo!

Haddi qiimuhu ku dhamaado qaylo-dhaan, waxa la siinayaa mudnaan sare.

Baadhitaanka cabbirka CGI wuxuu kala saaraa URL. Kadibna waxay dabaqaysaa qiyamka ka yimid Stop Tap.

Qiimaha leh mudnaanta soo socota ayaa lagu dabaqaa:

  1. Iyada oo la kordhinayo mudnaanta laga bilaabo Tabaha Joojinta (calaamadaha dhawaaqa).
  2. Qiimaha codsiga.
  3. Qiimaha caadiga ah ee ka yimid Taabo Jooji
  4. Qiimaha caadiga ah ee koodka

Waxaa jira calamo badan oo lagu tilmaamay qiyam shuruudeed - waxay ku filan yihiin dhammaan xaaladaha nala yaqaan:

  • Xarunta xogta.
  • Deegaanka: wax soo saarka, tijaabinta, hooska.
  • Goobta: suuqa, beru.
  • Lambarka kooxda

Qalabkan, waxaad awood u siin kartaa shaqeyn cusub oo ku saabsan koox gaar ah oo server ah (tusaale ahaan, hal xarun xog oo keliya) oo tijaabi shaqada shaqeynta iyada oo aan khatar gaar ah u lahayn adeegga oo dhan. Xitaa haddii aad qalad halis ah ku samaysay meel, wax walbaa waxay bilaabeen inay dhacaan oo xarunta xogta oo dhan hoos u dhacdo, xisaabiyeyaasha ayaa u wareejin doona codsiyada xarumaha kale ee xogta. Isticmaalayaasha dhamaadka ma dareemi doonaan wax.

Haddii aad aragto dhibaato, waxaad isla markiiba ku soo celin kartaa calanka qiimihiisii ​​hore isbeddeladana dib ayaa loo rogi doonaa.

Adeeggani waxa kale oo uu leeyahay hoos-u-dhaciisa: horumariyayaashu aad bay u jecel yihiin oo inta badan isku dayaan inay ku riixaan dhammaan isbeddellada ku jira Jooji Tap. Waxaan isku dayeynaa inaan la dagaalanno si xun u isticmaalka.

Habka Tabaha Joojinta ayaa si fiican u shaqeeya marka aad hore u haysatid kood deggan oo diyaar u ah in lagu soo rogo wax soo saarka. Isla mar ahaantaana, waxaad weli shaki ka qabtaa, oo waxaad dooneysaa inaad hubiso koodka xaaladaha "dagaalka".

Si kastaba ha ahaatee, Jooji Taabku kuma habboona in la tijaabiyo inta lagu jiro horumarka. Waxa jira koox gaar ah oo horumariyayaal ah oo loo yaqaan "kutlada hadh".

Tijaabada Qarsoon: Kutlada Hadhka

Codsiyada ka imanaya mid ka mid ah kooxaha waxa lagu koobiyay kooxda hadhku. Laakin miisaan-hayaha ayaa gabi ahaanba iska indhatiray jawaabaha kooxdan. Jaantuska hawlgalkeeda ayaa lagu soo bandhigay hoos.

Sida Yandex.Market raadinta u shaqeyso iyo waxa dhacaya haddii mid ka mid ah server-yada uu ku guuldareysto

Waxaan helnaa koox tijaabo ah oo ku jirta xaalado "dagaal" dhab ah. Taraafikada isticmaalaha caadiga ah ayaa halkaas tagaa. Qalabka ku jira labada kooxoodba waa isku mid, markaa waxqabadka iyo khaladaadka waa la barbar dhigi karaa.

Oo maadaama miisaan-hayaha uu gabi ahaanba iska indhatiray jawaabaha, isticmaalayaasha dhamaadka ma arki doonaan jawaabaha kooxda hadhku. Sidaa darteed, maaha wax cabsi ah inaad qalad samayso.

natiijooyinka

Haddaba, sidee ku dhisnay raadinta Suuqa?

Si wax walba si habsami leh u socdaan, waxaan u kala saarna shaqeynta adeegyo gaar ah. Sidan ayaan u cabbiri karnaa oo keliya qaybaha aan u baahanahay oo aan ka dhigi karno qaybaha kuwo fudud. Way fududahay in qayb gaar ah lagu meeleeyo koox kale lana wadaago mas'uuliyadda ka shaqaynteeda. Iyo kaydka muhiimka ah ee birta ee habkani waa wax cad oo dheeri ah.

Kooxda hadhku waxay sidoo kale na caawisaa: waanu horumarin karnaa adeegyo, tijaabin karnaa habka oo ma dhibin isticmaalaha.

Waa hagaag, tijaabinta wax soo saarka, dabcan. Ma u baahan tahay inaad beddesho qaabaynta kumanaan server? Fudud, isticmaal Stop Tap. Sidan ayaad isla markiiba ku soo rogi kartaa xal adag oo diyaarsan oo aad dib ugu rogtaa qaab xasilan haddii dhibaatooyin soo baxaan.

Waxaan rajeynayaa inaan awooday inaan muujiyo sida aan Suuqa uga dhigno mid deg deg ah oo xasiloon oo leh saldhig dalabyo oo sii kordhaya. Sida aan u xallino dhibaatooyinka server-ka, wax ka qabashada tiro badan oo codsiyo ah, hagaajinta dabacsanaanta adeegga oo aan tan sameyno iyada oo aan la joojin hababka shaqada.

Source: www.habr.com

Add a comment