Kif Badoo kiseb il-ħila li jibgħat 200k ritratti kull sekonda

Kif Badoo kiseb il-ħila li jibgħat 200k ritratti kull sekonda

Il-web moderna hija kważi inkonċepibbli mingħajr kontenut tal-midja: kważi kull nanna għandha smartphone, kulħadd jinsab fuq netwerks soċjali, u l-waqfien fil-manutenzjoni jiswa ħafna flus għall-kumpaniji. Hawnhekk hawn traskrizzjoni tal-istorja tal-kumpanija Badoo dwar kif organizzat il-kunsinna ta 'ritratti bl-użu ta' soluzzjoni hardware, liema problemi ta 'prestazzjoni ltaqgħet magħhom fil-proċess, x'ikkawżahom, u kif dawn il-problemi ġew solvuti bl-użu ta' soluzzjoni ta 'softwer ibbażata fuq Nginx, filwaqt li tiżgura t-tolleranza tal-ħsarat fil-livelli kollha (video). Nirringrazzjaw lill-awturi tal-istorja ta 'Oleg Sannis Efimova u Alexandra Dymova, li qasmu l-esperjenza tagħhom fil-konferenza Uptime jum 4.

— Ejja nibdew bi ftit introduzzjoni dwar kif naħżnu u nżommu r-ritratti fil-cache. Għandna saff fejn aħna naħżnuhom, u saff fejn aħna cache ir-ritratti. Fl-istess ħin, jekk irridu niksbu rata ta 'trick għolja u nnaqqsu t-tagħbija fuq il-ħażna, huwa importanti għalina li kull ritratt ta' utent individwali jkun fuq server wieħed ta 'caching. Inkella, ikollna ninstallaw diski daqs kemm ikollna aktar servers. Ir-rata ta 'trick tagħna hija ta' madwar 99%, jiġifieri, qed innaqqsu t-tagħbija fuq il-ħażna tagħna b'100 darba, u sabiex nagħmlu dan, 10 snin ilu, meta dan kollu kien qed jinbena, kellna 50 server. Għaldaqstant, sabiex inservu dawn ir-ritratti, kellna bżonn essenzjalment 50 dominju estern li dawn is-servers iservu.

Naturalment, immedjatament qamet il-mistoqsija: jekk wieħed mis-servers tagħna jinżel u ma jkunx disponibbli, liema parti mit-traffiku nitilfu? Ħarsa lejn dak li kien fis-suq u ddeċidejna li nixtru biċċa hardware sabiex issolvi l-problemi kollha tagħna. L-għażla waqgħet fuq is-soluzzjoni tal-kumpanija tan-netwerk F5 (li, bil-mod, reċentement xtrat NGINX, Inc): Maniġer tat-Traffiku Lokali BIG-IP.

Kif Badoo kiseb il-ħila li jibgħat 200k ritratti kull sekonda

X'tagħmel din il-biċċa hardware (LTM): hija router tal-ħadid li jagħmel redundancy tal-ħadid tal-portijiet esterni tiegħu u jippermettilek li tgħaddi t-traffiku abbażi tat-topoloġija tan-netwerk, fuq xi settings, u tagħmel kontrolli tas-saħħa. Kien importanti għalina li din il-biċċa hardware setgħet tiġi pprogrammata. Għaldaqstant, nistgħu niddeskrivu l-loġika ta’ kif ir-ritratti ta’ utent speċifiku ġew moqdija minn cache speċifika. Kif jidher? Hemm biċċa hardware li tħares lejn l-Internet fuq dominju wieħed, IP wieħed, ma ssl offload, parses http talbiet, jagħżel numru cache minn IRule, fejn tmur, u tikri t-traffiku jmur hemm. Fl-istess ħin, tagħmel kontrolli tas-saħħa, u fil-każ li xi magna ma tkunx disponibbli, dak iż-żmien għamilna sabiex it-traffiku mar għal server backup wieħed. Mil-lat ta 'konfigurazzjoni, hemm, ovvjament, xi sfumaturi, iżda b'mod ġenerali kollox huwa pjuttost sempliċi: nirreġistraw karta, korrispondenza ta' ċertu numru mal-IP tagħna fuq in-netwerk, ngħidu li se nisimgħu fuq il-portijiet 80 u 443, ngħidu li jekk is-server ma jkunx disponibbli, allura għandek bżonn tibgħat it-traffiku lil dak ta 'backup, f'dan il-każ il-35, u niddeskrivu mazz ta' loġika dwar kif din l-arkitettura għandha tiġi żarmata. L-unika problema kienet li l-lingwa li fiha l-hardware kien ipprogrammat kien Tcl. Jekk xi ħadd jiftakar dan... din il-lingwa hija aktar bil-miktub biss minn lingwa konvenjenti għall-ipprogrammar:

Kif Badoo kiseb il-ħila li jibgħat 200k ritratti kull sekonda

X’ksibna? Irċevejna biċċa ħardwer li tiżgura disponibbiltà għolja tal-infrastruttura tagħna, tiddevja t-traffiku kollu tagħna, tipprovdi benefiċċji għas-saħħa u taħdem biss. Barra minn hekk, taħdem għal żmien pjuttost twil: matul l-aħħar 10 snin ma kien hemm l-ebda ilment dwarha. Sal-bidu tal-2018, konna diġà nibagħtu madwar 80k ritratt kull sekonda. Dan huwa xi mkien madwar 80 gigabit ta 'traffiku miż-żewġ ċentri tad-dejta tagħna.

Madankollu...

Fil-bidu tal-2018, rajna stampa kerha fuq iċ-ċarts: iż-żmien li ħadet biex jintbagħtu r-ritratti kien żdied b’mod ċar. U waqaf jixraqilna. Il-problema hija li din l-imġieba kienet viżibbli biss fil-quċċata tat-traffiku - għall-kumpanija tagħna dan huwa l-lejl mill-Ħadd sat-Tnejn. Iżda l-bqija tal-ħin is-sistema ġabet ruħha bħas-soltu, l-ebda sinjali ta 'falliment.

Kif Badoo kiseb il-ħila li jibgħat 200k ritratti kull sekonda

Madankollu, il-problema kellha tissolva. Aħna identifikajna ostakoli possibbli u bdejna neliminawhom. L-ewwelnett, ovvjament, wessgħu l-uplinks esterni, wettaqna verifika sħiħa tal-uplinks interni, u sibna l-konġestjonijiet kollha possibbli. Iżda dan kollu ma tax riżultat ovvju, il-problema ma sparixxewx.

Ostakolu ieħor possibbli kien il-prestazzjoni tal-caches tar-ritratti nfushom. U ddeċidejna li forsi l-problema tistrieħ fuqhom. Ukoll, wessgħu l-prestazzjoni - prinċipalment portijiet tan-netwerk fuq caches tar-ritratti. Iżda għal darb'oħra ma deher l-ebda titjib ovvju. Fl-aħħar, tajna attenzjoni mill-qrib għall-prestazzjoni tal-LTM innifsu, u hawn rajna stampa imdejjaq fuq il-grafiċi: it-tagħbija fuq is-CPUs kollha tibda tmur bla xkiel, iżda mbagħad f'daqqa waħda tasal għal plateau. Fl-istess ħin, LTM jieqaf jirrispondi b'mod adegwat għall-kontrolli tas-saħħa u l-uplinks u jibda jitfihom b'mod każwali, li jwassal għal degradazzjoni serja tal-prestazzjoni.

Jiġifieri, identifikajna s-sors tal-problema, identifikajna l-konġestjoni. Jibqa’ niddeċiedu x’se nagħmlu.

Kif Badoo kiseb il-ħila li jibgħat 200k ritratti kull sekonda

L-ewwel ħaġa ovvja li nistgħu nagħmlu hija li b'xi mod nimmodernizzaw l-LTM innifsu. Iżda hemm xi sfumaturi hawn, minħabba li dan il-hardware huwa pjuttost uniku, ma tmurx fl-eqreb supermarket u tixtrih. Dan huwa kuntratt separat, kuntratt ta 'liċenzja separat, u se jieħu ħafna ħin. It-tieni għażla hija li tibda taħseb għalik innifsek, toħroġ bis-soluzzjoni tiegħek billi tuża l-komponenti tiegħek, preferibbilment billi tuża programm ta 'aċċess miftuħ. Jibqa' biss li niddeċiedu x'se nagħżlu eżattament għal dan u kemm se nqattgħu ħin biex insolvu din il-problema, minħabba li l-utenti ma kinux qed jirċievu biżżejjed ritratti. Għalhekk, irridu nagħmlu dan kollu malajr ħafna, wieħed jista’ jgħid ilbieraħ.

Peress li l-kompitu kien qisu "agħmel xi ħaġa malajr kemm jista 'jkun u tuża l-ħardwer li għandna," l-ewwel ħaġa li ħsibna kienet li sempliċement inneħħu xi magni mhux b'saħħithom ħafna minn quddiem, poġġi Nginx hemm, li biha Nafu kif nagħmlu taħdem u tipprova timplimenta l-istess loġika kollha li kien jagħmel il-ħardwer. Jiġifieri, fil-fatt, ħallejna l-hardware tagħna, installajna 4 servers oħra li kellna nikkonfiguraw, ħloqna domains esterni għalihom, simili għal kif kien 10 snin ilu... Tlifna ftit fid-disponibbiltà jekk dawn il-magni waqgħu, iżda xorta inqas, huma solvew il-problema tal-utenti tagħna lokalment.

Għaldaqstant, il-loġika tibqa 'l-istess: aħna ninstallaw Nginx, tista' tagħmel SSL-offload, nistgħu b'xi mod nipprogrammaw il-loġika tar-routing, il-kontrolli tas-saħħa fil-konfigurazzjonijiet u sempliċement nidduplikaw il-loġika li kellna qabel.

Ejja noqogħdu bilqegħda biex niktbu l-konfigurazzjonijiet. Għall-ewwel deher li kollox kien sempliċi ħafna, iżda, sfortunatament, huwa diffiċli ħafna li ssib manwali għal kull kompitu. Għalhekk, aħna ma nirrakkomandawx sempliċiment google "kif tikkonfigura Nginx għar-ritratti": huwa aħjar li tirreferi għad-dokumentazzjoni uffiċjali, li se turi liema settings għandhom jintmess. Imma huwa aħjar li tagħżel il-parametru speċifiku lilek innifsek. Ukoll, allura kollox huwa sempliċi: niddeskrivu s-servers li għandna, niddeskrivu ċ-ċertifikati... Iżda l-iktar ħaġa interessanti hija, fil-fatt, il-loġika tar-routing innifsu.

Għall-ewwel dehrilna li konna sempliċement qed niddeskrivu l-post tagħna, inqabblu n-numru tal-cache tar-ritratti tagħna fiha, nużaw idejna jew ġeneratur biex niddeskrivu kemm upstreams għandna bżonn, f'kull upstream nindikaw is-server li lejh għandu t-traffiku. mur, u server backup - jekk is-server prinċipali mhux disponibbli:

Kif Badoo kiseb il-ħila li jibgħat 200k ritratti kull sekonda

Imma, probabbilment, kieku kollox kien daqshekk sempliċi, sempliċement immorru d-dar u ma ngħidu xejn. Sfortunatament, bis-settings default Nginx, li, b'mod ġenerali, saru fuq ħafna snin ta 'żvilupp u mhumiex kompletament adattati għal dan il-każ... il-konfigurazzjoni tidher bħal din: jekk xi server upstream ikollu żball ta' talba jew timeout, Nginx dejjem jaqleb it-traffiku għal dak li jmiss. Barra minn hekk, wara l-ewwel falliment, fi żmien 10 sekondi s-server jintefa wkoll, kemm bi żball kif ukoll permezz ta 'timeout - dan lanqas ma jista' jiġi kkonfigurat bl-ebda mod. Jiġifieri, jekk inneħħu jew reset l-għażla ta 'timeout fid-direttiva upstream, allura, għalkemm Nginx mhux se jipproċessa din it-talba u se jirrispondi b'xi żball mhux tajjeb ħafna, is-server jintefa.

Kif Badoo kiseb il-ħila li jibgħat 200k ritratti kull sekonda

Biex nevitaw dan, għamilna żewġ affarijiet:

a) huma pprojbixxew lil Nginx milli jagħmel dan manwalment - u sfortunatament, l-uniku mod biex tagħmel dan huwa li sempliċement issettja s-settings max fails.

b) ftakartna li fi proġetti oħra nużaw modulu li jippermettilna nagħmlu kontrolli tas-saħħa tal-isfond – għalhekk, għamilna kontrolli tas-saħħa pjuttost frekwenti biex il-perijodi ta’ waqfien f’każ ta’ inċident ikun minimu.

Sfortunatament, dan mhux kollox lanqas, għaliex litteralment l-ewwel ġimgħatejn ta 'tħaddim ta' din l-iskema wrew li l-kontroll tas-saħħa TCP huwa wkoll ħaġa mhux affidabbli: fuq is-server upstream jista 'ma jkunx Nginx, jew Nginx fl-istat D, u fl-istat D. dan il-każ il-kernel se jaċċetta l-konnessjoni, il-kontroll tas-saħħa jgħaddi, iżda mhux se jaħdem. Għalhekk, immedjatament sostitwijna dan b'heck-check http, għamilna waħda speċifika, li, jekk tirritorna 200, allura kollox jaħdem f'dan l-iskritt. Tista 'tagħmel loġika addizzjonali - pereżempju, fil-każ ta' servers ta 'caching, iċċekkja li s-sistema tal-fajls hija mmuntata b'mod korrett:

Kif Badoo kiseb il-ħila li jibgħat 200k ritratti kull sekonda

U dan ikun jaqbel magħna, ħlief li bħalissa ċ-ċirkwit irrepeta kompletament dak li għamel il-hardware. Imma ridna nagħmlu aħjar. Preċedentement, kellna server backup wieħed, u dan probabbilment mhux tajjeb ħafna, għaliex jekk għandek mitt servers, allura meta diversi jonqsu f'daqqa, server backup wieħed x'aktarx ma jlaħħaqx mat-tagħbija. Għalhekk, iddeċidejna li nqassmu r-riżerva fuq is-servers kollha: sempliċement għamilna upstream separat ieħor, ktibna s-servers kollha hemmhekk b'ċerti parametri skont it-tagħbija li jistgħu jservu, żidna l-istess kontrolli tas-saħħa li kellna qabel:

Kif Badoo kiseb il-ħila li jibgħat 200k ritratti kull sekonda

Peress li huwa impossibbli li tmur upstream ieħor fi ħdan upstream wieħed, kien meħtieġ li jiġi żgurat li jekk il-upstream prinċipali, li fih sempliċement irreġistrajna l-cache tar-ritratti korrett u meħtieġ, ma kienx disponibbli, aħna sempliċement għaddejna mill-error_page għal fallback, minn fejn morna għall-backup upstream:

Kif Badoo kiseb il-ħila li jibgħat 200k ritratti kull sekonda

U billi litteralment żidna erba 'servers, dan huwa dak li ksibna: ssostitwijna parti mit-tagħbija - neħħejna minn LTM għal dawn is-servers, implimentajna l-istess loġika hemmhekk, użajna hardware u software standard, u immedjatament irċevejna l-bonus li dawn is-servers jistgħu jiġu skalati, minħabba li jistgħu jkunu sempliċiment jipprovdu kemm meħtieġ. Ukoll, l-uniku negattiv huwa li tlifna disponibbiltà għolja għall-utenti esterni. Iżda f'dak il-mument kellna nissagrifikaw dan, għax kien meħtieġ li l-problema tissolva immedjatament. Allura, neħħejna parti mit-tagħbija, kien madwar 40% dak iż-żmien, LTM ħass tajjeb, u litteralment ġimgħatejn wara li bdiet il-problema, bdejna nibagħtu mhux 45k talbiet kull sekonda, iżda 55k. Fil-fatt, kiberna b'20% - dan huwa ċar it-traffiku li ma tajniex lill-utent. U wara dan bdew jaħsbu dwar kif isolvu l-problema li kien fadal - biex jiżguraw aċċessibbiltà esterna għolja.

Kif Badoo kiseb il-ħila li jibgħat 200k ritratti kull sekonda

Kellna xi pawsa, li matulha ddiskutejna x’soluzzjoni se nużaw għal dan. Kien hemm proposti biex tiġi żgurata l-affidabbiltà bl-użu tad-DNS, bl-użu ta’ xi skripts miktuba mid-dar, protokolli ta’ routing dinamiċi... kien hemm ħafna għażliet, iżda diġà deher ċar li għal kunsinna ta’ ritratti tassew affidabbli, trid tintroduċi saff ieħor li se jimmonitorja dan. . Aħna sejjaħ dawn il-magni diretturi tar-ritratti. Is-software li bbażajna fuqu kien Keepalived:

Kif Badoo kiseb il-ħila li jibgħat 200k ritratti kull sekonda

L-ewwel nett, f'xiex jikkonsisti Keepalived? L-ewwel huwa l-protokoll VRRP, magħruf ħafna min-netwerkers, li jinsab fuq tagħmir tan-netwerk li jipprovdi tolleranza għall-ħsarat għall-indirizz IP estern li miegħu jikkonnettjaw il-klijenti. It-tieni parti hija IPVS, server virtwali IP, għall-ibbilanċjar bejn ir-routers tar-ritratti u l-iżgurar tat-tolleranza tal-ħsarat f'dan il-livell. U t-tielet - kontrolli tas-saħħa.

Nibdew bl-ewwel parti: VRRP - kif jidher? Hemm ċertu IP virtwali, li għandu dħul fid-dns badoocdn.com, fejn il-klijenti jgħaqqdu. F'xi żmien, għandna indirizz IP fuq server wieħed. Il-pakketti Keepalived jimxu bejn is-servers bl-użu tal-protokoll VRRP, u jekk il-kaptan jisparixxi mir-radar - is-server reġa' rebooteja jew xi ħaġa oħra, allura s-server tal-backup awtomatikament jiġbor dan l-indirizz IP - m'hemmx bżonn ta 'azzjonijiet manwali. Id-differenza bejn il-kaptan u l-backup hija prinċipalment ta 'prijorità: iktar ma tkun għolja, iktar ikun kbir iċ-ċans li l-magna ssir kaptan. Vantaġġ kbir ħafna huwa li m'għandekx bżonn tikkonfigura l-indirizzi IP fuq is-server innifsu, huwa biżżejjed li tiddeskrivihom fil-konfigurazzjoni, u jekk l-indirizzi IP jeħtieġu xi regoli ta 'routing tad-dwana, dan huwa deskritt direttament fil-konfigurazzjoni, billi tuża l- l-istess sintassi kif deskritta fil-pakkett VRRP. M'intix se tiltaqa' ma' affarijiet mhux familjari.

Kif Badoo kiseb il-ħila li jibgħat 200k ritratti kull sekonda

Kif jidher dan fil-prattika? X'jiġri jekk wieħed mis-servers ifalli? Hekk kif il-kaptan jisparixxi, il-backup tagħna jieqaf jirċievi reklami u awtomatikament isir kaptan. Wara xi żmien, issewwijna l-kaptan, rebooting, qajmu Keepalived - reklami jaslu bi prijorità ogħla mill-backup, u l-backup awtomatikament idur lura, tneħħi l-indirizzi IP, m'hemmx bżonn li jsiru azzjonijiet manwali.

Kif Badoo kiseb il-ħila li jibgħat 200k ritratti kull sekonda

Għalhekk, żgurajna t-tolleranza tal-ħsarat tal-indirizz IP estern. Il-parti li jmiss hija li b'xi mod tibbilanċja t-traffiku mill-indirizz IP estern għar-routers tar-ritratti li diġà qed itemmuh. Kollox huwa pjuttost ċar bil-protokolli tal-ibbilanċjar. Dan huwa jew sempliċi round-robin, jew affarijiet kemmxejn aktar kumplessi, wrr, konnessjoni tal-lista u l-bqija. Dan huwa bażikament deskritt fid-dokumentazzjoni, m'hemm xejn speċjali. Iżda l-metodu tal-kunsinna... Hawnhekk se nagħtu ħarsa aktar mill-qrib lejn għaliex għażilna waħda minnhom. Dawn huma NAT, Direct Routing u TUN. Il-fatt hu li immedjatament ippjanajna li nwasslu 100 gigabit ta 'traffiku mis-siti. Jekk tistma, għandek bżonn 10 gigabit cards, hux? Kards ta '10 gigabit f'server wieħed diġà huwa lil hinn mill-ambitu ta', għall-inqas, il-kunċett tagħna ta '"tagħmir standard". U mbagħad ftakru li mhux biss nagħtu ftit traffiku, nagħtu ritratti.

X'hemm speċjali? — Differenza enormi bejn it-traffiku deħlin u ħerġin. It-traffiku deħlin huwa żgħir ħafna, it-traffiku ħerġin huwa kbir ħafna:

Kif Badoo kiseb il-ħila li jibgħat 200k ritratti kull sekonda

Jekk tħares lejn dawn il-graffs, tista 'tara li bħalissa d-direttur qed jirċievi madwar 200 MB kull sekonda, din hija ġurnata ordinarja ħafna. Nagħtu lura 4,500 MB kull sekonda, il-proporzjon tagħna huwa bejn wieħed u ieħor 1/22. Diġà huwa ċar li biex nipprovdu bis-sħiħ it-traffiku ħerġin lil 22 server ta' ħaddiem, għandna bżonn biss wieħed li jaċċetta din il-konnessjoni. Dan huwa fejn l-algoritmu tar-rotta diretta jiġi għall-għajnuna tagħna.

Kif jidher? Id-direttur tar-ritratti tagħna, skont it-tabella tiegħu, jittrażmetti konnessjonijiet għal routers tar-ritratti. Iżda r-routers tar-ritratti jibagħtu traffiku ta 'ritorn direttament lill-Internet, jibagħtuh lill-klijent, ma jmurx lura mid-direttur tar-ritratti, għalhekk, b'numru minimu ta' magni, niżguraw tolleranza ta 'ħsara sħiħa u ippumpjar tat-traffiku kollu. Fil-konfigurazzjonijiet jidher bħal dan: aħna nispeċifikaw l-algoritmu, fil-każ tagħna huwa rr sempliċi, ipprovdi l-metodu ta 'routing dirett u mbagħad tibda telenka s-servers reali kollha, kemm għandna minnhom. Li se jiddetermina dan it-traffiku. Jekk ikollna server wieħed jew tnejn oħra hemmhekk, jew diversi servers, tinħoloq ħtieġa bħal din - aħna nżidu biss din it-taqsima mal-konfigurazzjoni u tinkwetax wisq. Min-naħa tas-servers reali, min-naħa tar-router tar-ritratti, dan il-metodu jeħtieġ l-aktar konfigurazzjoni minima, huwa deskritt perfettament fid-dokumentazzjoni, u m'hemm l-ebda nases hemmhekk.

Dak li hu speċjalment sabiħ huwa li soluzzjoni bħal din ma timplikax disinn mill-ġdid radikali tan-netwerk lokali; dan kien importanti għalina; kellna nsolvu dan bi spejjeż minimi. Jekk tħares lejn Output tal-kmand tal-amministratur tal-IPVS, imbagħad naraw kif jidher. Hawnhekk għandna ċertu server virtwali, fuq il-port 443, jisma, jaċċetta l-konnessjoni, is-servers kollha tax-xogħol huma elenkati, u tista 'tara li l-konnessjoni hija, tagħti jew tieħu, l-istess. Jekk inħarsu lejn l-istatistika fuq l-istess server virtwali, għandna pakketti deħlin, konnessjonijiet deħlin, iżda assolutament l-ebda dawk ħerġin. Konnessjonijiet ħerġin jmorru direttament lill-klijent. Okay, stajna niżbilanċjawha. Issa, x'jiġri jekk wieħed mir-routers tar-ritratti tagħna jfalli? Wara kollox, il-ħadid huwa ħadid. Jista 'jmur f'paniku tal-qalba, jista' jinkiser, il-provvista tal-enerġija tista 'tinħaraq. Xejn. Huwa għalhekk li kontrolli tas-saħħa huma meħtieġa. Jistgħu jkunu sempliċi daqs li jiċċekkjaw kif il-port huwa miftuħ, jew xi ħaġa aktar kumplessa, sa xi skripts miktuba mid-dar li saħansitra se jiċċekkjaw il-loġika tan-negozju.

Waqafna x'imkien fin-nofs: għandna talba https għal post speċifiku, l-iskript jissejjaħ, jekk jirrispondi b'200 tweġiba, nemmnu li kollox huwa tajjeb ma 'dan is-server, li huwa ħaj u jista' jinxtegħel pjuttost faċilment.

Kif jidher dan, għal darb'oħra, fil-prattika? Ejja itfi s-server għall-manutenzjoni - li jteptep il-BIOS, pereżempju. Fir-zkuk, għandna immedjatament timeout, naraw l-ewwel linja, imbagħad wara tliet tentattivi tiġi mmarkata bħala "falluta", u sempliċement titneħħa mil-lista.

Kif Badoo kiseb il-ħila li jibgħat 200k ritratti kull sekonda

It-tieni għażla ta 'mġieba hija wkoll possibbli, meta VS huwa sempliċement issettjat għal żero, iżda jekk ir-ritratt jiġi rritornat, dan ma jaħdimx tajjeb. Is-server jitla ', Nginx jibda hemm, il-kontroll tas-saħħa immedjatament jifhem li l-konnessjoni qed taħdem, li kollox huwa tajjeb, u s-server jidher fil-lista tagħna, u t-tagħbija immedjatament tibda tiġi applikata għaliha. L-ebda azzjonijiet manwali ma huma meħtieġa mill-amministratur tad-dmirijiet. Is-server rebooteja bil-lejl - id-dipartiment tal-monitoraġġ ma jċemplilniex dwar dan bil-lejl. Jinfurmawk li dan ġara, kollox sew.

Allura, b'mod pjuttost sempliċi, bl-għajnuna ta 'numru żgħir ta' servers, solvejna l-problema tat-tolleranza tal-ħsara esterna.

Fadal xi ngħidu hu li dan kollu, ovvjament, jeħtieġ li jiġi mmonitorjat. Separatament, għandu jiġi nnutat li Keepalivede, bħala softwer miktub żmien twil ilu, għandu mazz ta 'modi biex jimmonitorjah, kemm bl-użu ta' kontrolli permezz ta 'DBus, SMTP, SNMP, u Zabbix standard. Barra minn hekk, hu stess jaf jikteb ittri għal kważi kull għatis, u biex inkun onest, f’xi ħin anke ħsibna li titfih, għax jikteb ħafna ittri għal kull traffiku li jinxtegħlu, jinxtegħlu, għal kull konnessjoni tal-IP, u l-bqija . Naturalment, jekk hemm ħafna servers, allura tista 'tgħelb lilek innifsek b'dawn l-ittri. Aħna nissorveljaw nginx fuq routers tar-ritratti bl-użu ta 'metodi standard, u l-monitoraġġ tal-ħardwer ma spiċċax. Aħna, ovvjament, nagħtu parir għal żewġ affarijiet oħra: l-ewwelnett, kontrolli tas-saħħa esterni u disponibbiltà, għax anki jekk kollox jaħdem, fil-fatt, forsi l-utenti ma jirċievux ritratti minħabba problemi ma 'fornituri esterni jew xi ħaġa aktar kumplessa. Dejjem ta 'min iżomm x'imkien fuq netwerk ieħor, fl-Amazon jew x'imkien ieħor, magna separata li tista' tagħmel ping lis-servers tiegħek minn barra, u ta 'min ukoll tuża jew skoperta ta' anomaliji, għal dawk li jafu kif jagħmlu tagħlim tal-magni delikat, jew monitoraġġ sempliċi, għall-inqas sabiex jintraċċa jekk it-talbiet naqsu drastikament, jew, għall-kuntrarju, żdiedu. Jista 'jkun utli wkoll.

Ejja nġabru fil-qosor: aħna, fil-fatt, biddel is-soluzzjoni miksija bil-ħadid, li f'xi punt ma baqgħetx taqbel magħna, b'sistema pjuttost sempliċi li tagħmel kollox l-istess, jiġifieri, tipprovdi terminazzjoni tat-traffiku HTTPS u aktar rotta intelliġenti bil- kontrolli tas-saħħa meħtieġa. Żidna l-istabbiltà ta 'din is-sistema, jiġifieri, għad għandna disponibbiltà għolja għal kull saff, flimkien ma' għandna l-bonus li huwa pjuttost faċli li tiskala kollox fuq kull saff, minħabba li huwa ħardwer standard b'softwer standard, jiġifieri , aħna ssimplifikajna d-dijanjosi ta 'problemi possibbli.

B’liema spiċċajna? Kellna problema waqt il-vaganzi ta’ Jannar tal-2018. Fl-ewwel sitt xhur waqt li daħħalna din l-iskema fis-seħħ, wessnieha għat-traffiku kollu sabiex inneħħu t-traffiku kollu minn LTM, kiberna biss fit-traffiku f’ċentru tad-data wieħed minn 40 gigabit għal 60 gigabit, u fl-istess ħin għal is-sena 2018 kollha setgħu jibagħtu kważi tliet darbiet aktar ritratti kull sekonda.

Kif Badoo kiseb il-ħila li jibgħat 200k ritratti kull sekonda

Sors: www.habr.com

Żid kumment