Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Artem Denisov ( bo0rsh201, Badoo)

Badoo huwa l-akbar sit tad-dating fid-dinja. Bħalissa għandna madwar 330 miljun utent irreġistrat madwar id-dinja. Imma dak li huwa ferm aktar importanti fil-kuntest tal-konversazzjoni tagħna llum huwa li naħżnu madwar 3 petabytes ta 'ritratti tal-utent. Kull jum l-utenti tagħna jtellgħu madwar 3,5 miljun ritratt ġdid, u t-tagħbija tal-qari hija ta 'madwar 80 elf talba kull sekonda. Dan huwa pjuttost ħafna għall-backend tagħna, u xi kultant ikun hemm diffikultajiet ma 'dan.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Se nitkellem dwar id-disinn ta 'din is-sistema, li taħżen u tibgħat ritratti b'mod ġenerali, u nħares lejha mill-perspettiva ta' żviluppatur. Se jkun hemm retrospettiva qasira dwar kif żviluppat, fejn ser niddeskrivi t-tragwardi ewlenin, iżda se nitkellem biss f'aktar dettall dwar is-soluzzjonijiet li qed nużaw bħalissa.

Issa ejja nibdew.

Play video

Kif għedt, din se tkun retrospettiva, u sabiex nibdew x'imkien, ejja nieħdu l-aktar eżempju komuni.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Għandna kompitu komuni, għandna bżonn naċċettaw, naħżnu u nibagħtu ritratti tal-utent. F'din il-forma, il-kompitu huwa ġenerali, nistgħu nużaw xi ħaġa:

  • ħażna moderna tas-sħab,
  • soluzzjoni f'kaxxa, li issa hemm ħafna wkoll;
  • Nistgħu nwaqqfu diversi magni fiċ-ċentru tad-dejta tagħna u npoġġu fuqhom hard drives kbar u naħżnu ritratti hemmhekk.

Badoo storikament - kemm issa kif ukoll imbagħad (fiż-żmien meta kien għadu fil-bidu tiegħu) - jgħix fuq is-servers tiegħu stess, ġewwa d-DCs tagħna stess. Għalhekk, din l-għażla kienet l-aħjar għalina.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Aħna biss ħadna diversi magni, sejħilhom "ritratti", u ksibna raggruppament li jaħżen ir-ritratti. Imma jidher li hemm xi ħaġa nieqsa. Sabiex dan kollu jaħdem, irridu niddeterminaw b'xi mod fuq liema magna se naħżnu liema ritratti. U hawn ukoll m’hemmx għalfejn tiftaħ l-Amerika.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Aħna nżidu xi qasam mal-ħażna tagħna b'informazzjoni dwar l-utenti. Din se tkun iċ-ċavetta sharding. Fil-każ tagħna, sejjaħnieha place_id, u dan il-post id jindika l-post fejn huma maħżuna r-ritratti tal-utent. Nagħmlu mapep.

Fl-ewwel stadju, dan jista 'saħansitra jsir manwalment - ngħidu li ritratt ta' dan l-utent b'post bħal dan se jinżel fuq tali server. Grazzi għal din il-mappa, aħna dejjem nafu meta utent itella' ritratt, fejn isalvah, u nafu minn fejn nagħtuh.

Din hija skema assolutament trivjali, iżda għandha vantaġġi pjuttost sinifikanti. L-ewwel hija li hija sempliċi, kif għedt, u t-tieni hija li b'dan l-approċċ nistgħu faċilment niskala orizzontalment billi sempliċement inwasslu karozzi ġodda u nżiduhom mal-mappa. M'għandekx bżonn tagħmel xi ħaġa oħra.

Hekk kien għalina għal xi żmien.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Dan kien madwar l-2009. Huma kkonsenjaw karozzi, wasslu...

U f’xi ħin bdejna nindunaw li din l-iskema għandha ċerti żvantaġġi. X'inhuma l-iżvantaġġi?

L-ewwelnett, hemm kapaċità limitata. Ma nistgħux inħaddmu kemm nixtiequ hard drives fuq server fiżiku wieħed. U din saret ċerta problema maż-żmien u bit-tkabbir tad-dataset.

U t-tieni. Din hija konfigurazzjoni atipika ta 'magni, peress li magni bħal dawn huma diffiċli biex jerġgħu jintużaw f'xi gruppi oħra huma pjuttost speċifiċi, i.e. għandhom ikunu dgħajfa fil-prestazzjoni, iżda fl-istess ħin b'hard drive kbir.

Dan kien kollu għall-2009, iżda, fil-prinċipju, dawn ir-rekwiżiti għadhom rilevanti sal-lum. Għandna retrospettiva, allura fl-2009 kollox kien kompletament ħażin b'dan.

U l-aħħar punt huwa l-prezz.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Il-prezz kien wieqaf ħafna dak iż-żmien, u kellna bżonn infittxu xi alternattivi. Dawk. kellna bżonn li b'xi mod nutilizzaw aħjar kemm l-ispazju fiċ-ċentri tad-dejta kif ukoll is-servers fiżiċi li fuqhom jinsab dan kollu. U l-inġiniera tas-sistema tagħna bdew studju kbir li fih irrevedew mazz ta 'għażliet differenti. Huma ħarsu wkoll lejn sistemi ta 'fajls raggruppati bħal PolyCeph u Luster. Kien hemm problemi ta 'prestazzjoni u tħaddim pjuttost diffiċli. Huma rrifjutaw. Ippruvajna narmaw is-sett tad-dejta kollu permezz tal-NFS fuq kull karozza sabiex b'xi mod inżiduh. Il-qari wkoll mar ħażin, ippruvajna soluzzjonijiet differenti minn bejjiegħa differenti.

U fl-aħħar, ikkonċentraw fuq l-użu tal-hekk imsejjaħ Storage Area Network.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Dawn huma SHDs kbar li huma ddisinjati speċifikament għall-ħażna ta 'ammonti kbar ta' data. Huma xkafef b'diski li huma mmuntati fuq il-magni finali tal-output ottiku. Dik. għandna xi tip ta 'grupp ta' magni, pjuttost żgħar, u dawn SHDs, li huma trasparenti għall-loġika li tibgħat tagħna, i.e. għall-nginx tagħna jew xi ħadd ieħor biex iservu talbiet għal dawn ir-ritratti.

Din id-deċiżjoni kellha vantaġġi ovvji. Dan huwa SHD. Hija mmirata biex taħżen ritratti. Dan jaħdem irħas milli sempliċement tgħammar magni bil-hard drives.

It-tieni plus.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Dan huwa li l-kapaċità saret ħafna akbar, i.e. nistgħu nakkomodaw ħafna aktar ħażna f'volum ferm iżgħar.

Iżda kien hemm ukoll żvantaġġi li ħarġu pjuttost malajr. Hekk kif in-numru ta 'utenti u t-tagħbija fuq din is-sistema kiber, bdew jinqalgħu problemi ta' prestazzjoni. U l-problema hawnhekk hija pjuttost ovvja - kwalunkwe SHD iddisinjat biex jaħżen ħafna ritratti f'volum żgħir, bħala regola, ibati minn qari intensiv. Dan fil-fatt huwa minnu għal kwalunkwe ħażna sħaba jew xi ħaġa oħra. Issa m'għandniex ħażna ideali li tkun infinitament skalabbli, tista 'tdaħħal xi ħaġa fiha, u tittollera qari tajjeb ħafna. Speċjalment qari każwali.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Kif inhu l-każ tar-ritratti tagħna, għaliex ir-ritratti huma mitluba b'mod inkonsistenti, u dan se jaffettwa ħafna l-prestazzjoni tagħhom.

Anke skont iċ-ċifri tal-lum, jekk naslu x'imkien aktar minn 500 RPS għal ritratti fuq magna li magħha l-ħażna hija konnessa, il-problemi diġà jibdew. U kien ħażin biżżejjed għalina, għax in-numru ta 'utenti qed jikber, l-affarijiet se jmorru għall-agħar. Dan jeħtieġ li jiġi ottimizzat b'xi mod.

Sabiex ottimizzaw, iddeċidejna dak iż-żmien, ovvjament, li nħarsu lejn il-profil tat-tagħbija - dak li, b'mod ġenerali, qed jiġri, dak li jeħtieġ li jiġi ottimizzat.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

U hawn kollox jilgħab f’idejna.

Diġà għedt fl-ewwel slide: għandna 80 elf talba għall-qari kull sekonda bi 3,5 miljun upload biss kuljum. Jiġifieri, din hija differenza ta 'tliet ordnijiet ta' kobor. Huwa ovvju li l-qari jeħtieġ li jiġi ottimizzat u huwa prattikament ċar kif.

Hemm punt ieħor żgħir. L-ispeċifiċitajiet tas-servizz huma tali li persuna tirreġistra, ttella 'ritratt, imbagħad tibda tħares b'mod attiv lejn nies oħra, bħalhom, u tintwera b'mod attiv lil nies oħra. Imbagħad isib sieħeb jew ma jsibx sieħeb, jiddependi kif jirriżulta, u jieqaf juża s-servizz għal xi żmien. F'dan il-mument, meta jużaha, ir-ritratti tiegħu huma sħan ħafna - huma mitluba, ħafna nies jarawhom. Hekk kif jieqaf jagħmel dan, pjuttost malajr jitlaq minn espożizzjoni għal nies oħra daqs kemm kellu qabel, u r-ritratti tiegħu kważi qatt ma jintalbu.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Dawk. Għandna sett ta 'dejta sħun żgħir ħafna. Iżda fl-istess ħin hemm ħafna talbiet għalih. U soluzzjoni kompletament ovvja hawnhekk hija li żżid cache.

Cache b'LRU se ssolvi l-problemi kollha tagħna. X'qed nagħmlu?

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Aħna nżidu ieħor relattivament żgħir quddiem il-grupp kbir tagħna bil-ħażna, li jissejjaħ photocaches. Dan huwa essenzjalment biss prokura caching.

Kif taħdem minn ġewwa? Hawn l-utent tagħna, hawn il-ħażna. Kollox huwa l-istess bħal qabel. X'nżidu bejniethom?

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Huwa biss magna b'diska lokali fiżika, li hija veloċi. Dan huwa ma 'SSD, per eżempju. U xi tip ta 'cache lokali hija maħżuna fuq din id-diska.

Kif jidher? L-utent jibgħat talba għal ritratt. NGINX tfittex l-ewwel fil-cache lokali. Jekk le, allura sempliċement proxy_pass għall-ħażna tagħna, niżżel ir-ritratt minn hemm u agħtih lill-utent.

Iżda din hija banali ħafna u mhux ċar x'qed jiġri ġewwa. Taħdem xi ħaġa bħal din.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Il-cache hija loġikament maqsuma fi tliet saffi. Meta ngħid "tliet saffi", dan ma jfissirx li hemm xi tip ta 'sistema kumplessa. Le, dawn huma kondizzjonalment biss tliet direttorji fis-sistema tal-fajls:

  1. Dan huwa buffer fejn ir-ritratti li għadhom kif niżżlu minn prokura jmorru.
  2. Din hija hot cache li taħżen ir-ritratti attwalment mitluba b'mod attiv.
  3. U cache kiesaħ, fejn ir-ritratti jiġu mbuttati gradwalment barra mill-cache sħun meta jaslu anqas talbiet għalihom.

Biex dan jaħdem, għandna bżonn b'xi mod jimmaniġġjaw din il-cache, irridu nirranġaw mill-ġdid ir-ritratti fiha, eċċ. Dan huwa wkoll proċess primittiv ħafna.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Nginx sempliċement jikteb lir-RAMDisk access.log għal kull talba, li fiha tindika t-triq għar-ritratt li serva bħalissa (mogħdija relattiva, ovvjament), u liema partizzjoni ġiet notifikata. Dawk. jista 'jgħid "ritratt 1" u mbagħad jew buffer, jew hot cache, jew cold cache, jew proxy.

Skont dan, irridu niddeċiedu b'xi mod x'nagħmlu bir-ritratt.

Għandna daemon żgħir jaħdem fuq kull magna li kontinwament taqra dan ir-reġistru u taħżen statistika dwar l-użu ta 'ċerti ritratti fil-memorja tagħha.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Huwa sempliċiment jiġbor hemm, iżomm il-bankijiet u perjodikament jagħmel dan li ġej. Huwa jċaqlaq ritratti mitluba b'mod attiv, li għalihom hemm ħafna talbiet, għall-cache sħun, ikunu fejn ikunu.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Ritratti li huma mitluba rarament u li saru mitluba inqas frekwenti huma gradwalment imbuttati barra mill-cache sħun għal dak kiesaħ.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

U meta nispiċċaw l-ispazju fil-cache, aħna sempliċiment nibdew inħassru kollox mill-cache kiesaħ b'mod indiskriminat. U mill-mod, dan jaħdem tajjeb.

Sabiex ir-ritratt jiġi ssejvjat immedjatament meta nipprokurawh mal-buffer, nużaw id-direttiva proxy_store u l-buffer huwa wkoll RAMDisk, i.e. għall-utent jaħdem malajr ħafna. Dan jikkonċerna l-interni tas-server tal-caching innifsu.

Il-mistoqsija li fadal hija kif tqassam it-talbiet fuq dawn is-servers.

Ejja ngħidu li hemm raggruppament ta 'għoxrin magna tal-ħażna u tliet servers ta' caching (dan huwa kif ġara).

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Irridu niddeterminaw b'xi mod liema talbiet huma għal liema ritratti u fejn niżluhom.

L-iktar għażla komuni hija Round Robin. Jew tagħmel dan b'inċident?

Dan ovvjament għandu numru ta 'żvantaġġi għaliex inkunu qed nużaw il-cache b'mod ineffiċjenti ħafna f'sitwazzjoni bħal din. It-talbiet se jillandjaw fuq xi magni bl-addoċċ: hawn kien fil-cache, iżda fuq dak li jmiss m'għadux hemm. U jekk dan kollu jaħdem, ikun ħażin ħafna. Anke b'numru żgħir ta 'magni fil-cluster.

Irridu niddeterminaw b'xi mod mingħajr ambigwità liema server niżel liema talba.

Hemm mod banali. Nieħdu l-hash mill-URL jew il-hash miċ-ċavetta sharding tagħna, li tinsab fil-URL, u naqsmu bin-numru ta 'servers. Se taħdem? Will.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Dawk. għandna talba ta '2%, pereżempju, għal xi "example_url" dejjem se tinżel fuq is-server bl-indiċi "XNUMX", u l-cache se tintrema kontinwament bl-aħjar mod possibbli.

Iżda hemm problema bir-resharding fi skema bħal din. Resharding - I tfisser li tbiddel in-numru ta 'servers.

Ejja nassumu li l-cluster tal-caching tagħna ma jistax ilaħħaq aktar u niddeċiedu li nżidu magna oħra.

Ejja nżidu.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Issa kollox huwa diviżibbli mhux bi tlieta, iżda b'erbgħa. Għalhekk, kważi ċ-ċwievet kollha li konna jkollna, kważi l-URLs kollha issa jgħixu fuq servers oħra. Il-cache kollu ġie invalidat sempliċement għal mument. It-talbiet kollha waqgħu fuq il-cluster tal-ħażna tagħna, sar ħażin, falliment fis-servizz u utenti mhux sodisfatti. Ma rridx nagħmel hekk.

Din l-għażla lanqas ma taqbilna.

Dik. x'għandna nagħmlu? Irridu b'xi mod nagħmlu użu effiċjenti mill-cache, niżlu l-istess talba fuq l-istess server għal darb'oħra, iżda nkunu reżistenti għal resharding. U hemm soluzzjoni bħal din, mhix daqshekk ikkumplikata. Din tissejjaħ hashing konsistenti.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Kif jidher?

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Nieħdu xi funzjoni miċ-ċavetta sharding u nxerrdu l-valuri kollha tagħha fuq iċ-ċirku. Dawk. fil-punt 0, il-valuri minimi u massimi tiegħu jikkonverġu. Sussegwentement, inpoġġu s-servers kollha tagħna fuq l-istess ċirku b'madwar dan il-mod:

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Kull server huwa definit minn punt wieħed, u s-settur li jmur lejh lejn l-arloġġ, għalhekk, huwa moqdi minn dan il-host. Meta t-talbiet jiġu għandna, naraw immedjatament li, pereżempju, it-talba A - għandha hash hemmhekk - u hija moqdija minn server 2. Talba B - minn server 3. U l-bqija.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

X'jiġri f'din is-sitwazzjoni waqt reharding?

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Aħna ma ninvalidawx il-cache kollu, bħal qabel, u ma nbiddlux iċ-ċwievet kollha, iżda nċaqalqu kull settur fuq distanza qasira sabiex, relattivament, is-sitt server tagħna, li rridu nżidu, jidħol fl-ispazju ħieles, u inżiduh hemm.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Naturalment, f'sitwazzjoni bħal din iċ-ċwievet jimxu 'l barra wkoll. Iżda jimxu 'l barra ħafna aktar dgħajfa minn qabel. U naraw li l-ewwel żewġ ċwievet tagħna baqgħu fuq is-servers tagħhom, u s-server tal-caching inbidel biss għall-aħħar ċavetta. Dan jaħdem b'mod pjuttost effiċjenti, u jekk iżżid hosts ġodda b'mod inkrementali, allura m'hemm l-ebda problema kbira hawn. Int iżżid u żżid ftit kull darba, stenna sakemm il-cache tkun mimlija mill-ġdid, u kollox jaħdem tajjeb.

L-unika mistoqsija tibqa’ dwar ir-rifjuti. Ejja nassumu li xi tip ta' karozza ma tkunx qed taħdem.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

U ma nkunux verament irridu nirriġeneraw din il-mappa f'dan il-mument, invalidaw parti mill-cache, u l-bqija, jekk, pereżempju, il-magna kienet rebooted, u għandna bżonn b'xi talbiet ta 'servizz. Aħna sempliċiment inżommu cache ta 'ritratti ta' backup waħda f'kull sit, li taġixxi bħala sostitut għal kwalunkwe magna li bħalissa tinsab imwaqqfa. U jekk f'daqqa waħda wieħed mis-servers tagħna ma jkunx disponibbli, it-traffiku jmur hemm. Naturalment, m'għandna l-ebda cache hemmhekk, i.e. huwa kiesaħ, iżda mill-inqas it-talbiet tal-utenti qed jiġu pproċessati. Jekk dan huwa intervall qasir, allura nesperjenzawh kompletament bil-kalma. Hemm biss aktar tagħbija fuq il-ħażna. Jekk dan l-intervall huwa twil, allura nistgħu diġà nieħdu deċiżjoni - li tneħħi dan is-server mill-mappa jew le, jew forsi tibdilha b'ieħor.

Dan huwa dwar is-sistema caching. Ejja nħarsu lejn ir-riżultati.

Jidher li m'hemm xejn ikkumplikat hawn. Iżda dan il-metodu ta 'ġestjoni tal-cache tana rata trick ta' madwar 98%. Dawk. Minn dawn it-80 elf talba kull sekonda, 1600 biss jilħqu l-ħażna, u din hija tagħbija kompletament normali, isofruha bil-kalma, dejjem għandna riżerva.

Poġġejna dawn is-servers fi tlieta mid-DCs tagħna, u rċevejna tliet punti ta 'preżenza - Praga, Miami u Ħong Kong.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Dik. huma ftit jew wisq lokalment lokalizzati għal kull wieħed mis-swieq fil-mira tagħna.

U bħala bonus sabiħ, aħna ltqajna dan il-proxy tal-caching, li fuqu s-CPU huwa attwalment idle, minħabba li mhuwiex daqshekk meħtieġ biex iservi l-kontenut. U hemm, bl-użu ta 'NGINX + Lua, implimentajna ħafna loġika utilitarja.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Pereżempju, nistgħu nesperimentaw bil-webp jew bil-jpeg progressiv (dawn huma formati moderni effettivi), naraw kif jaffettwa t-traffiku, nieħdu xi deċiżjonijiet, inħalluh għal ċerti pajjiżi, eċċ.; tagħmel id-daqs dinamiku jew aqla ritratti fuq il-fly.

Dan huwa każ ta’ użu tajjeb meta, pereżempju, ikollok applikazzjoni mobbli li turi ritratti, u l-applikazzjoni mobbli ma tridx taħli s-CPU tal-klijent meta titlob ritratt kbir u mbagħad tibdel id-daqs għal ċertu daqs sabiex timbottah ġo il-veduta. Nistgħu sempliċiment nispeċifikaw b'mod dinamiku xi parametri fil-URL kondizzjonali UPort, u l-cache tar-ritratti se terġa 'taqsam ir-ritratt innifsu. Bħala regola, se tagħżel id-daqs li għandna fiżikament fuq id-diska, qrib kemm jista 'jkun ta' dik mitluba, u tbiegħha f'koordinati speċifiċi.

Mill-mod, għamilna disponibbli pubblikament reġistrazzjonijiet tal-vidjo tal-aħħar ħames snin tal-konferenza tal-iżviluppaturi ta 'sistemi ta' tagħbija għolja HighLoad ++. Ara, tgħallem, aqsam u abbona Kanal YouTube.

Nistgħu nżidu wkoll ħafna loġika tal-prodott hemmhekk. Per eżempju, nistgħu nżidu filigrani differenti bl-użu ta 'parametri URL, nistgħu ċċajpar, ċċajpar jew pixelate ritratti. Dan huwa meta rridu nuru ritratt ta 'persuna, iżda ma rridux nuru wiċċha, dan jaħdem tajjeb, huwa kollu implimentat hawn.

X’ksibna? Ksibna tliet punti ta 'preżenza, rata ta' trick tajba, u fl-istess ħin m'għandniex CPU idle fuq dawn il-magni. Huwa issa sar, ovvjament, aktar importanti minn qabel. Irridu nagħtu lilna nfusna karozzi aktar b’saħħithom, imma worth it.

Dan jikkonċerna r-ritorn tar-ritratti. Kollox hawnhekk huwa pjuttost ċar u ovvju. Naħseb li ma skoprejtx l-Amerika, kważi kull CDN jaħdem b'dan il-mod.

U, x'aktarx, semmiegħ sofistikat jista 'jkollu mistoqsija: għaliex mhux biss ibiddel kollox għal CDN? Ikun madwar l-istess CDNs moderni kollha jistgħu jagħmlu dan. U hemm numru ta’ raġunijiet.

L-ewwel huwa ritratti.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Dan huwa wieħed mill-punti ewlenin tal-infrastruttura tagħna, u għandna bżonn l-akbar kontroll possibbli fuqha. Jekk din hija xi tip ta’ soluzzjoni minn bejjiegħ ta’ parti terza, u ma jkollok l-ebda setgħa fuqha, ikun pjuttost diffiċli għalik li tgħix magħha meta jkollok dataset kbir, u meta jkollok fluss kbir ħafna. tat-talbiet tal-utenti.

Ħa nagħtikom eżempju. Issa, bl-infrastruttura tagħna, nistgħu, pereżempju, f'każ ta 'xi problemi jew knocks taħt l-art, immorru l-magna u mess madwar hemm, relattivament jitkellem. Nistgħu nżidu l-ġbir ta 'xi metriċi li għandna bżonn biss, nistgħu nesperimentaw b'xi mod, naraw kif dan jaffettwa l-graffs, eċċ. Issa qed tinġabar ħafna statistika dwar dan il-grupp ta' caching. U perjodikament inħarsu lejha u nqattgħu żmien twil nesploraw xi anomaliji. Kieku kien fuq in-naħa tas-CDN, ikun ferm aktar diffiċli biex tikkontrolla. Jew, per eżempju, jekk iseħħ xi tip ta 'inċident, nafu x'ġara, nafu kif ngħixu miegħu u kif negħlbuh. Din hija l-ewwel konklużjoni.

It-tieni konklużjoni hija wkoll pjuttost storika, minħabba li s-sistema ilha tiżviluppa għal żmien twil, u kien hemm ħafna rekwiżiti kummerċjali differenti fi stadji differenti, u mhux dejjem jidħlu fil-kunċett CDN.

U l-punt li ġej minn dak preċedenti huwa

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Dan għaliex fuq photo caches għandna ħafna loġika speċifika, li mhux dejjem tiżdied fuq talba. Huwa improbabbli li kwalunkwe CDN se żżid xi affarijiet tad-dwana lilek fuq talba tiegħek. Per eżempju, encrypting URLs jekk ma tridx li l-klijent ikun jista 'jbiddel xi ħaġa. Tixtieq tibdel il-URL fuq is-server u tikkriptah, u mbagħad tibgħat xi parametri dinamiċi hawn.

X'konklużjoni tissuġġerixxi din? Fil-każ tagħna, CDN mhix alternattiva tajba ħafna.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

U fil-każ tiegħek, jekk għandek xi rekwiżiti speċifiċi tan-negozju, allura tista 'faċilment timplimenta dak li wrejt lilek innifsek. U dan se jaħdem perfettament bi profil ta 'tagħbija simili.

Imma jekk għandek xi tip ta 'soluzzjoni ġenerali, u l-kompitu mhuwiex speċifiku ħafna, tista' assolutament tieħu CDN b'mod sigur. Jew jekk il-ħin u r-riżorsi huma aktar importanti għalik mill-kontroll.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

U CDNs moderni għandhom kważi dak kollu li għedtilkom issa. Bl-eċċezzjoni ta 'plus jew minus xi karatteristiċi.

Dan huwa dwar l-għoti ta 'ritratti.

Ejja issa nimxu 'l quddiem ftit fir-retrospettiva tagħna u nitkellmu dwar il-ħażna.

L-2013 kienet għaddejja.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Ġew miżjuda servers ta 'caching, il-problemi ta' prestazzjoni marru. Kollox sew. Is-sett tad-dejta qed jikber. Mill-2013, kellna madwar 80 server konnessi mal-ħażna, u madwar 40 caching f'kull DC. Dan huwa 560 terabytes ta 'data fuq kull DC, i.e. madwar petabyte b'kollox.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

U bit-tkabbir tas-sett tad-dejta, l-ispejjeż operattivi bdew jogħlew b'mod sinifikanti. Xi jfisser dan?

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

F'din id-dijagramma li hija mfassla - b'SAN, b'magni u caches konnessi magħha - hemm ħafna punti ta 'falliment. Kieku konna diġà ttrattati l-falliment tas-servers tal-caching qabel, kollox kien ftit jew wisq prevedibbli u li jinftiehem, iżda min-naħa tal-ħażna kollox kien ħafna agħar.

L-ewwelnett, in-Netwerk taż-Żona tal-Ħżin (SAN) innifsu, li jista 'jfalli.

It-tieni nett, huwa konness permezz ta 'l-ottika mal-magni tat-tarf. Jista 'jkun hemm problemi bil-karti ottiċi u l-ispark plugs.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Naturalment, m'hemmx daqstant minnhom daqs is-SAN innifsu, iżda, madankollu, dawn huma wkoll punti ta 'falliment.

Li jmiss hija l-magna nnifisha, li hija konnessa mal-ħażna. Jista 'wkoll jonqos.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

B’kollox, għandna tliet punti ta’ falliment.

Barra minn hekk, minbarra l-punti ta 'falliment, hemm manutenzjoni qawwija tal-ħażna nnifisha.

Din hija sistema kumplessa b'ħafna komponenti, u l-inġiniera tas-sistemi jista 'jkollhom diffiċli biex jaħdmu magħha.

U l-aħħar, l-aktar punt importanti. Jekk isseħħ falliment fi kwalunkwe minn dawn it-tliet punti, għandna ċans mhux żero li nitilfu d-dejta tal-utent minħabba li s-sistema tal-fajls tista 'tiġġarraf.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Ejja ngħidu s-sistema tal-fajls tagħna hija miksura. L-ewwelnett, l-irkupru tiegħu jieħu żmien twil - jista 'jieħu ġimgħa b'ammont kbir ta' data. U t-tieni, fl-aħħar x'aktarx se nispiċċaw b'mazz ta 'fajls inkomprensibbli li b'xi mod jeħtieġ li jiġu kkombinati f'ritratti tal-utent. U nirriskjaw li nitilfu d-data. Ir-riskju huwa pjuttost għoli. U aktar ma jseħħu sitwazzjonijiet bħal dawn, u aktar ma jinqalgħu problemi f'din il-katina kollha, iktar ikun għoli dan ir-riskju.

Xi ħaġa kellha ssir dwar dan. U aħna ddeċidejna li għandna bżonn biss li tagħmel backup tad-data. Din hija fil-fatt soluzzjoni ovvja u waħda tajba. X’għamilna?

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Hekk kien jidher is-server tagħna meta kien imqabbad mal-ħażna qabel. Din hija taqsima ewlenija waħda, huwa biss apparat ta 'blokk li fil-fatt jirrappreżenta muntatura għal ħażna remota permezz ta' l-ottika.

Aħna biss żidna t-tieni taqsima.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Poġġejna t-tieni ħażna ħdejha (fortunatament, mhux daqshekk għali f'termini ta 'flus), u sejjaħlu partizzjoni ta' backup. Huwa wkoll konness permezz ta 'l-ottika u jinsab fuq l-istess magna. Imma rridu nissinkronizzaw b'xi mod id-dejta bejniethom.

Hawnhekk aħna sempliċement nagħmlu kju mhux sinkroniku fil-qrib.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Mhix okkupata ħafna. Nafu li m'għandniex biżżejjed rekords. Kju huwa biss tabella fil-MySQL li fiha jinkitbu linji bħal "jeħtieġ li tagħmel backup ta' dan ir-ritratt". Ma 'kwalunkwe bidla jew upload, aħna kopja mill-partizzjoni prinċipali għall-backup bl-użu asinkronu jew sempliċiment xi tip ta' ħaddiem fl-isfond.

U b’hekk dejjem ikollna żewġ taqsimiet konsistenti. Anke jekk parti waħda ta 'din is-sistema tfalli, nistgħu dejjem nibdlu l-partizzjoni prinċipali b'backup, u kollox se jkompli jaħdem.

Iżda minħabba dan, it-tagħbija tal-qari tiżdied ħafna, minħabba li... minbarra l-klijenti li jaqraw mit-taqsima prinċipali, għax l-ewwel iħarsu lejn ir-ritratt hemmhekk (huwa aktar reċenti hemmhekk), u mbagħad ifittxuh fuq il-backup, jekk ma sabuhx (iżda NGINX jagħmel dan biss), is-sistema tagħna hija wkoll backup plus issa jaqra mill-partizzjoni prinċipali. Mhux li dan kien konġestjoni, imma ma ridtx inżid it-tagħbija, essenzjalment, hekk.

U żidna t-tielet disk, li huwa SSD żgħir, u sejjaħlu buffer.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Kif taħdem issa.

L-utent itella’ ritratt fil-buffer, imbagħad jintefa’ avveniment fil-kju li jindika li jeħtieġ li jiġi kkupjat f’żewġ taqsimiet. Huwa kkupjat, u r-ritratt jgħix fuq il-buffer għal xi żmien (jiġifieri, kuljum), u mbagħad biss jitnaddaf minn hemm. Dan itejjeb ħafna l-esperjenza tal-utent, minħabba li l-utent itella 'ritratt, bħala regola, it-talbiet immedjatament jibdew isegwu, jew huwa stess aġġorna l-paġna u aġġornaha. Iżda dan kollu jiddependi fuq l-applikazzjoni li tagħmel it-upload.

Jew, pereżempju, nies oħra li lilhom beda juri lilu nnifsu minnufih jibagħtu talbiet wara dan ir-ritratt. Għadu mhux fil-cache l-ewwel talba sseħħ malajr ħafna. Essenzjalment l-istess bħal minn cache tar-ritratti. Il-ħażna bil-mod mhi involuta f'dan xejn. U meta ġurnata wara jiġi mnaddaf, huwa diġà jew fil-cache fuq is-saff ta 'caching tagħna, jew, x'aktarx, ħadd ma għandu bżonnha aktar. Dawk. L-esperjenza tal-utent hawn kibret tajjeb ħafna minħabba manipulazzjonijiet sempliċi bħal dawn.

Tajjeb, u l-aktar importanti: waqfu nitilfu d-data.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Ejja ngħidu li waqqafna potenzjalment titlef id-data, għax ma tantx tlifniha. Imma kien hemm il-periklu. Naraw li din is-soluzzjoni hija, ovvjament, tajba, iżda hija xi ftit bħal twittija s-sintomi tal-problema, minflok issolviha kompletament. U xi problemi jibqgħu hawn.

L-ewwelnett, dan huwa punt ta 'falliment fil-forma tal-host fiżiku nnifsu li fuqu jimxi dan il-makkinarju kollu ma marx.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

It-tieni nett, għad hemm problemi bis-SANs, il-manutenzjoni tqila tagħhom, eċċ. Ma kienx li kien fattur kritiku, imma ridt nipprova b'xi mod ngħix mingħajru.

U għamilna t-tielet verżjoni (fil-fatt, it-tieni fil-fatt) - il-verżjoni tar-riżerva. Liema dehret?

Dan huwa dak li kien -

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Il-problemi ewlenin tagħna huma bil-fatt li dan huwa ospitanti fiżiku.

L-ewwelnett, qed inneħħu SANs għax irridu nesperimentaw, irridu nippruvaw biss hard drives lokali.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Dan huwa diġà 2014-2015, u dak iż-żmien is-sitwazzjoni bid-diski u l-kapaċità tagħhom f'ospitant wieħed saret ħafna aħjar. Iddeċidejna għaliex ma nippruvawx.

U allura aħna sempliċiment nieħdu l-partizzjoni tal-backup tagħna u nitrasferixxuha fiżikament għal magna separata.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Għalhekk, aħna nikseb din id-dijagramma. Għandna żewġ karozzi li jaħżnu l-istess datasets. Huma jappoġġaw lil xulxin kompletament u jissinkronizzaw id-dejta fuq in-netwerk permezz ta 'kju asinkroniku fl-istess MySQL.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Għaliex dan jaħdem tajjeb huwa għaliex għandna ftit rekords. Dawk. kieku l-kitba tkun komparabbli mal-qari, forsi jkollna xi tip ta 'overhead tan-netwerk u problemi. Ftit hemm kitba, ħafna qari - dan il-metodu jaħdem tajjeb, i.e. Rari nikkopjaw ritratti bejn dawn iż-żewġ servers.

Kif jaħdem dan, jekk tħares ftit aktar fid-dettall.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Upload. Il-balancer sempliċement jagħżel hosts każwali b'par u jtella' miegħu. Fl-istess ħin, naturalment jagħmel kontrolli tas-saħħa u jiżgura li l-karozza ma taqax. Dawk. huwa jtella ritratti biss fuq server ħaj, u mbagħad permezz ta 'kju asinkroniku huwa kollu kkupjat lill-proxxmu tiegħu. Bil-upload kollox huwa estremament sempliċi.

Il-kompitu huwa ftit aktar diffiċli.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Lua għen lilna hawn, għax jista 'jkun diffiċli li tagħmel loġika bħal din fuq vanilla NGINX. L-ewwel nagħmlu talba lill-ewwel server, naraw jekk ir-ritratt huwiex hemm, għax potenzjalment jista 'jittella', pereżempju, lil ġar, iżda għadu ma wasalx hawn. Jekk ir-ritratt ikun hemm, dak tajjeb. Aħna immedjatament nagħtuha lill-klijent u, possibilment, nagħtuha fil-cache.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Jekk ma jkunx hemm, aħna sempliċement nagħmlu talba lill-proxxmu tagħna u niġu garantiti li nirċievuha minn hemm.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Dik. għal darb'oħra nistgħu ngħidu: jista 'jkun hemm problemi bil-prestazzjoni, minħabba li hemm vjaġġi bir-ritorn kostanti - ir-ritratt ttella', mhuwiex hawn, qed nagħmlu żewġ talbiet minflok waħda, dan għandu jaħdem bil-mod.

Fis-sitwazzjoni tagħna, dan ma jaħdimx bil-mod.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Aħna niġbru mazz ta 'metriċi fuq din is-sistema, u r-rata intelliġenti kondizzjonali ta' mekkaniżmu bħal dan hija ta 'madwar 95%. Dawk. Id-dewmien ta 'dan il-backup huwa żgħir, u minħabba dan aħna kważi garantiti, wara li r-ritratt ikun ttella', aħna se neħduh l-ewwel darba u mhux se jkollna mmorru mkien darbtejn.

Allura x'iktar għandna li verament jibred?

Preċedentement, kellna l-partizzjoni tal-backup prinċipali, u naqraw minnhom b'mod sekwenzjali. Dawk. Aħna dejjem fittixna fuq dak prinċipali l-ewwel, u mbagħad fuq il-backup. Kien mossa waħda.

Issa aħna nutilizzaw qari minn żewġ magni f'daqqa. Aħna nqassmu t-talbiet bl-użu ta’ Round Robin. F'persentaġġ żgħir ta' każijiet nagħmlu żewġ talbiet. Iżda b'mod ġenerali, issa għandna d-doppju ta' stokk tal-qari daqs kemm kellna qabel. U t-tagħbija tnaqqset ħafna kemm fuq il-magni li jibagħtu kif ukoll direttament fuq il-magni tal-ħażna, li kellna wkoll dak iż-żmien.

Fir-rigward tat-tolleranza tal-ħsarat. Fil-fatt, dan huwa dak li prinċipalment iġġieldu għalih. B'tolleranza għal ħtija, kollox irriżulta tajjeb hawn.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Karozza waħda tkisser.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Mhux problema! Inġinier tas-sistema jista’ lanqas iqum bil-lejl, jistenna sa filgħodu, ma jiġri xejn ħażin.

Jekk anki jekk din il-magna tfalli, il-kju huwa barra mill-ordni, m'hemm l-ebda problemi lanqas, il-ġurnal sempliċiment jiġi akkumulat l-ewwel fuq il-magna ħajja, u mbagħad jiġi miżjud mal-kju, u mbagħad fuq il-karozza li se jibda jaħdem wara xi żmien.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

L-istess ħaġa mal-manutenzjoni. Aħna sempliċiment itfi waħda mill-magni, iġbedha manwalment mill-pools kollha, ma tibqax tirċievi traffiku, nagħmlu xi tip ta 'manutenzjoni, neditjaw xi ħaġa, imbagħad nerġgħu lura għas-servizz, u dan il-backup jaqbad pjuttost malajr. Dawk. kuljum, il-ħin ta' waqfien ta' karozza waħda jlaħħaq fi żmien ftit minuti. Dan huwa verament ftit. B'tolleranza għal ħtija, nerġa' ngħid, kollox huwa frisk hawn.

X'konklużjonijiet jistgħu jittieħdu minn din l-iskema ta' sensji?

Aħna ltqajna tolleranza għall-ħtija.

Faċli biex tużah. Peress li l-magni għandhom hard drives lokali, dan huwa ħafna aktar konvenjenti mil-lat operattiv għall-inġiniera li jaħdmu magħha.

Irċevejna allowance doppja għall-qari.

Dan huwa bonus tajjeb ħafna minbarra t-tolleranza tal-ħsarat.

Iżda hemm ukoll problemi. Issa għandna żvilupp ħafna aktar kumpless ta 'xi karatteristiċi relatati ma' dan, minħabba li s-sistema saret 100% eventwalment konsistenti.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Irridu, ngħidu aħna, f'xi xogħol fl-isfond, naħsbu kontinwament: "F'liema server qed inħaddmu issa?", "Hemm verament ritratt kurrenti hawn?" eċċ. Dan, ovvjament, huwa kollu mgeżwer, u għall-programmatur li jikteb il-loġika tan-negozju, huwa trasparenti. Iżda, madankollu, dan is-saff kumpless kbir deher. Iżda aħna lesti li npoġġu dan bi skambju għall-goodies li rċevejna minnu.

U hawn għal darb'oħra jinqala' xi kunflitt.

Għidt fil-bidu li l-ħażna ta 'kollox fuq hard drives lokali hija ħażina. U issa ngħid li għoġobna.

Iva, tabilħaqq, maż-żmien is-sitwazzjoni inbidlet ħafna, u issa dan l-approċċ għandu ħafna vantaġġi. L-ewwelnett, aħna jkollna operazzjoni ħafna aktar sempliċi.

It-tieni nett, huwa aktar produttiv, għaliex m'għandniex dawn il-kontrolluri awtomatiċi jew konnessjonijiet ma 'xkafef tad-disk.

Hemm ammont kbir ta 'makkinarju hemmhekk, u dawn huma biss ftit diski li huma mmuntati hawn fuq il-magna f'raid.

Iżda hemm ukoll żvantaġġi.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Dan jiswa bejn wieħed u ieħor 1,5 darbiet aktar mill-użu tas-SAN anke bil-prezzijiet tal-lum. Għalhekk, iddeċidejna li ma nikkonverux bil-kuraġġ ir-raggruppament kbir kollu tagħna f'karozzi b'hard drives lokali u ddeċidejna li nħallu soluzzjoni ibrida.

Nofs il-magni tagħna jaħdmu bil-hard drives (sewwa, mhux nofs - probabbilment 30 fil-mija). U l-bqija huma karozzi antiki li qabel kellhom l-iskema tal-ewwel riserva. Sempliċement immuntajnahom mill-ġdid, peress li ma kellniex bżonn dejta ġdida jew xi ħaġa oħra, sempliċement ċċaqlaqna l-muntaturi minn host fiżiku wieħed għal tnejn.

U issa għandna stokk kbir ta 'qari, u wessgħuh. Jekk qabel aħna mmuntati ħażna waħda fuq magna waħda, issa aħna mmuntaw erbgħa, pereżempju, fuq par wieħed. U jaħdem tajjeb.

Ejja nieħdu sommarju qasir ta 'dak li wettaqna, dak li iġġilidna għalih, u jekk irnexxielniex.

Riżultati ta '

Għandna utenti - daqs 33 miljun.

Għandna tliet punti ta 'preżenza - Praga, Miami, Hong Kong.

Fihom saff ta 'caching, li jikkonsisti f'karozzi b'diski lokali veloċi (SSDs), li fuqhom jimxu makkinarju sempliċi minn NGINX, access.log tiegħu u d-daemons Python, li jipproċessaw dan kollu u jimmaniġġjaw il-cache.

Jekk tixtieq, inti qiegħed fil-proġett tiegħek, jekk ir-ritratti mhumiex kritiċi għalik daqs kemm huma għalina, jew jekk il-kontroll tal-kompromess kontra l-veloċità tal-iżvilupp u l-ispejjeż tar-riżorsi huwa fid-direzzjoni l-oħra għalik, allura tista 'tibdelha b'mod sikur ma 'CDN, CDNs moderni huma jagħmlu tajjeb.

Wara jiġi s-saff tal-ħażna, li fuqu għandna gruppi ta 'pari ta' magni li jsostnu lil xulxin, il-fajls jiġu kkupjati b'mod asinkroniku minn wieħed għall-ieħor kull meta jinbidlu.

Barra minn hekk, xi wħud minn dawn il-magni jaħdmu ma 'hard drives lokali.

Xi wħud minn dawn il-magni huma konnessi ma 'SANs.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

U, minn naħa waħda, huwa aktar konvenjenti għall-użu u ftit aktar produttiv, min-naħa l-oħra, huwa konvenjenti f'termini ta 'densità ta' tqegħid u prezz għal kull gigabyte.

Din hija ħarsa ġenerali daqshekk qasira tal-arkitettura ta 'dak li ksibna u kif żviluppa kollox.

Ftit pariri oħra mill-kaptan, dawk sempliċi ħafna.

L-ewwel, jekk f'daqqa waħda tiddeċiedi li għandek bżonn urġenti li ttejjeb kollox fl-infrastruttura tar-ritratti tiegħek, kejjel l-ewwel, għax forsi xejn m'għandu jittejjeb.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Ħa nagħtikom eżempju. Għandna grupp ta’ magni li jibagħtu ritratti minn attachments fiċ-chats, u l-iskema ilha taħdem hemm mill-2009, u ħadd mhu qed ibati minnha. Kulħadd tajjeb, kulħadd jħobb kollox.

Sabiex tkejjel, l-ewwel hang mazz ta 'metriċi, ħares lejhom, u mbagħad iddeċiedi dak li m'intix kuntent bix u dak li jeħtieġ li jittejjeb. Sabiex inkejlu dan, għandna għodda friska msejħa Pinba.

Jippermettilek tiġbor statistika dettaljata ħafna minn NGINX għal kull talba u kodiċi ta 'rispons, u distribuzzjoni ta' ħinijiet - tkun xi tkun trid. Għandha rbit għal kull xorta ta 'sistemi analitiċi differenti, u mbagħad tista' tħares lejha kollha b'mod sabiħ.

L-ewwel kejlna, imbagħad tjiebna.

Aktar minn hekk. Aħna ottimizzaw il-qari bil-cache, il-kitba bi sharding, iżda dan huwa punt ovvju.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Aktar minn hekk. Jekk qed tibda tibni s-sistema tiegħek, allura huwa ħafna aħjar li tagħmel ritratti bħala fajls immutabbli. Minħabba li immedjatament titlef klassi sħiħa ta 'problemi bl-invalidazzjoni tal-cache, b'kif il-loġika għandha ssib il-verżjoni korretta tar-ritratt, eċċ.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

Ejja ngħidu li tellajt mija, imbagħad dawwarha, għamilha hekk li kien fajl fiżikament differenti. Dawk. m'hemmx għalfejn taħseb: issa ser niffranka ftit spazju, nikteb fl-istess fajl, nibdel il-verżjoni. Dan dejjem ma jaħdimx tajjeb u jikkawża ħafna uġigħ ta 'ras aktar tard.

Il-punt li jmiss. Dwar resize fuq il-fly.

Preċedentement, meta l-utenti tellgħu ritratt, aħna immedjatament qatgħu mazz sħiħ ta 'daqsijiet għall-okkażjonijiet kollha, għal klijenti differenti, u kienu kollha fuq id-diska. Issa abbandunajna dan.

Ħallna biss tliet daqsijiet ewlenin: żgħar, medji u kbar. Aħna sempliċiment inaqqas kull ħaġa oħra mid-daqs li hemm wara dak li ntalbet lilna f'Uport, aħna sempliċement nagħmlu t-tnaqqis u nagħtuha lill-utent.

Is-CPU tas-saff tal-caching hawnhekk jirriżulta li huwa ferm irħas milli kieku rriġeneraw kontinwament dawn id-daqsijiet fuq kull ħażna. Ejja ngħidu li rridu nżidu waħda ġdida, dan se jieħu xahar - mexxi script kullimkien li jagħmel dan kollu pulit, mingħajr ma jeqred il-cluster. Dawk. Jekk għandek l-opportunità li tagħżel issa, huwa aħjar li tagħmel l-inqas daqsijiet fiżiċi possibbli, iżda sabiex tal-inqas xi distribuzzjoni tkun, ngħidu aħna, tlieta. U kull ħaġa oħra tista 'titqies mill-ġdid fuq il-fly bl-użu ta' moduli lesti. Dan kollu huwa faċli ħafna u aċċessibbli issa.

U backup asinkroniku inkrementali huwa tajjeb.

Kif wriet il-prattika tagħna, din l-iskema taħdem tajjeb b'ikkupjar dewmien ta' fajls mibdula.

Arkitettura għall-ħażna u l-qsim ta' ritratti f'Badoo

L-aħħar punt huwa wkoll ovvju. Jekk l-infrastruttura tiegħek issa m'għandhiex problemi bħal dawn, iżda hemm xi ħaġa li tista 'tkisser, żgur li tinkiser meta ssir ftit aktar. Għalhekk, huwa aħjar li wieħed jaħseb dwar dan minn qabel u ma jesperjenzax problemi magħha. Dak kollu ridt ngħid.

kuntatti

» bo0rsh201
» Badoo Blog

Dan ir-rapport huwa traskrizzjoni ta 'wieħed mill-aqwa diskorsi fil-konferenza tal-iżviluppaturi ta' sistemi ta 'tagħbija għolja HighLoad ++. Fadal inqas minn xahar sal-konferenza HighLoad++ 2017.

Diġà għandna lest Programm tal-Konferenza, l-iskeda issa qed tiġi ffurmata b'mod attiv.

Din is-sena nkomplu nesploraw is-suġġett tal-arkitetturi u l-iskala:

Aħna nużaw ukoll xi wħud minn dawn il-materjali fil-kors ta’ taħriġ onlajn tagħna dwar l-iżvilupp ta’ sistemi ta’ tagħbija għolja HighLoad.Gwida hija katina ta' ittri, artikoli, materjali, vidjows magħżula apposta. Il-ktieb tagħna diġà fih aktar minn 30 materjal uniku. Qabbad!

Sors: www.habr.com

Ixtri hosting affidabbli għal siti bi protezzjoni DDoS, servers VPS VDS 🔥 Ixtri hosting ta' websajts affidabbli bi protezzjoni DDoS, servers VPS VDS | ProHoster