Giunsa pagkab-ot sa Badoo ang abilidad sa pagpadala sa 200k nga mga litrato matag segundo

Giunsa pagkab-ot sa Badoo ang abilidad sa pagpadala sa 200k nga mga litrato matag segundo

Ang modernong web halos dili mahunahuna nga walay sulod sa media: halos tanang lola adunay usa ka smartphone, ang tanan anaa sa mga social network, ug ang downtime sa maintenance mahal alang sa mga kompanya. Ania ang usa ka transcript sa istorya sa kompanya Badoo bahin sa kung giunsa niya pag-organisar ang paghatud sa mga litrato gamit ang solusyon sa hardware, unsa nga mga problema sa pasundayag ang iyang nasugatan sa proseso, kung unsa ang hinungdan niini, ug giunsa kini nga mga problema nasulbad gamit ang solusyon sa software nga gibase sa Nginx, samtang gisiguro ang pagtugot sa sayup sa tanan nga lebel (video). Nagpasalamat kami sa mga tagsulat sa istorya ni Oleg Sannis Efimova ug Alexandra Dymova, kinsa mipaambit sa ilang kasinatian sa komperensya Uptime nga adlaw 4.

— Magsugod ta sa gamay nga pasiuna bahin sa kung giunsa naton pagtipig ug pagtago sa mga litrato. Adunay kami usa ka layer diin among gitipigan kini, ug usa ka layer diin among gitago ang mga litrato. Sa parehas nga oras, kung gusto namon nga makab-ot ang usa ka taas nga rate sa paglimbong ug makunhuran ang pagkarga sa pagtipig, hinungdanon alang kanamo nga ang matag litrato sa usa ka indibidwal nga tiggamit naa sa usa ka server sa caching. Kung dili, kinahanglan namon nga i-install ang daghang mga beses nga daghang mga disk sama sa daghang mga server. Ang among trick rate hapit sa 99%, sa ato pa, gipakubus namon ang karga sa among pagtipig sa 100 ka beses, ug aron mahimo kini, 10 ka tuig na ang milabay, sa dihang kining tanan gitukod, kami adunay 50 ka mga server. Tungod niini, aron maserbisyuhan kini nga mga litrato, kinahanglan gyud namon ang 50 nga mga eksternal nga domain nga giserbisyohan sa kini nga mga server.

Natural lang, mitungha dayon ang pangutana: kung ang usa sa among mga server mawala ug mahimong dili magamit, unsa nga bahin sa trapiko ang mawala kanamo? Gitan-aw namo kung unsa ang naa sa merkado ug nakahukom nga mopalit og usa ka piraso sa hardware aron kini makasulbad sa tanan namong mga problema. Ang pagpili nahulog sa solusyon sa F5-network company (nga, sa laing bahin, bag-o lang gipalit NGINX, Inc): BIG-IP Local Traffic Manager.

Giunsa pagkab-ot sa Badoo ang abilidad sa pagpadala sa 200k nga mga litrato matag segundo

Unsa ang gibuhat sa kini nga piraso sa hardware (LTM): kini usa ka puthaw nga router nga naghimo sa puthaw nga pag-usab sa mga eksternal nga pantalan ug nagtugot kanimo sa pagruta sa trapiko base sa topology sa network, sa pipila nga mga setting, ug naghimo sa mga pagsusi sa kahimsog. Importante kanamo nga kini nga piraso sa hardware mahimong maprograma. Sa ingon, mahimo natong ihulagway ang lohika kung giunsa ang mga litrato sa usa ka piho nga tiggamit gisilbi gikan sa usa ka piho nga cache. Unsa ang hitsura niini? Adunay usa ka piraso sa hardware nga nagtan-aw sa Internet sa usa ka domain, usa ka IP, nag-offload sa ssl, nag-parse sa mga hangyo sa http, nagpili usa ka numero sa cache gikan sa IRule, kung asa moadto, ug gipaagi ang trapiko didto. Sa parehas nga oras, naghimo kini mga pagsusi sa kahimsog, ug kung adunay usa ka makina nga dili magamit, sa kana nga oras gihimo namon kini aron ang trapiko moadto sa usa ka backup server. Gikan sa usa ka punto sa panglantaw, adunay, siyempre, pipila ka mga nuances, apan sa kinatibuk-an ang tanan yano ra: nagparehistro kami sa usa ka kard, mga sulat sa usa ka piho nga numero sa among IP sa network, kami nag-ingon nga kami maminaw sa mga pantalan 80 ug 443, kami nag-ingon nga kung ang server dili magamit, nan kinahanglan nimo nga ipadala ang trapiko sa backup, sa kini nga kaso ang ika-35, ug among gihulagway ang usa ka hugpong sa lohika kung giunsa kini nga arkitektura kinahanglan i-disassemble. Ang bugtong problema mao nga ang pinulongan diin ang hardware giprograma mao ang Tcl. Kung adunay bisan kinsa nga nakahinumdom niini ... kini nga lengguwahe mas isulat lamang kaysa usa ka sinultian nga kombenyente alang sa pagprograma:

Giunsa pagkab-ot sa Badoo ang abilidad sa pagpadala sa 200k nga mga litrato matag segundo

Unsa may among nakuha? Nakadawat kami usa ka piraso sa hardware nga nagsiguro sa taas nga pagkaanaa sa among imprastraktura, ruta ang tanan namon nga trapiko, naghatag mga benepisyo sa kahimsog ug mga trabaho. Dugang pa, kini nagtrabaho sa dugay nga panahon: sa miaging 10 ka tuig wala’y mga reklamo bahin niini. Sa pagsugod sa 2018, nagpadala na kami mga 80k nga litrato matag segundo. Kini sa usa ka dapit sa palibot sa 80 gigabits sa trapiko gikan sa duha sa atong mga data centers.

Hinuon…

Sa sinugdanan sa 2018, nakita namo ang usa ka mangil-ad nga hulagway sa mga tsart: ang oras nga gikinahanglan sa pagpadala sa mga litrato klaro nga miuswag. Ug kini mihunong sa pagpaangay kanamo. Ang problema mao nga kini nga pamatasan makita lamang sa panahon sa peak sa trapiko - alang sa among kompanya kini ang gabii gikan sa Domingo hangtod Lunes. Apan sa nahabilin nga panahon ang sistema naglihok sama sa naandan, walay mga timailhan sa kapakyasan.

Giunsa pagkab-ot sa Badoo ang abilidad sa pagpadala sa 200k nga mga litrato matag segundo

Bisan pa niana, ang problema kinahanglang sulbaron. Nahibal-an namon ang posible nga mga bottleneck ug nagsugod sa pagwagtang niini. Una sa tanan, siyempre, gipalapdan namo ang mga eksternal nga uplink, nagpahigayon og kompleto nga pag-audit sa internal nga mga uplink, ug nakit-an ang tanang posibleng bottlenecks. Apan kining tanan wala maghatag ug klaro nga resulta, ang problema wala mawala.

Ang laing posible nga bottleneck mao ang paghimo sa mga cache sa litrato mismo. Ug nakahukom kami nga tingali ang problema anaa kanila. Aw, gipalapdan namon ang pasundayag - nag-una sa mga pantalan sa network sa mga cache sa litrato. Apan pag-usab walay klaro nga kalamboan nga nakita. Sa katapusan, among gitagad pag-ayo ang pasundayag sa LTM mismo, ug dinhi nakita namon ang usa ka masulub-on nga litrato sa mga graph: ang pagkarga sa tanan nga mga CPU nagsugod nga hapsay, apan unya kalit nga moabut sa usa ka talampas. Sa samang higayon, ang LTM mihunong sa pagtubag sa hustong paagi sa mga pagsusi sa panglawas ug mga uplink ug nagsugod sa random nga pagpalong niini, nga mosangpot sa seryoso nga pagkadaut sa performance.

Sa ato pa, naila na nato ang tinubdan sa problema, naila ang bottleneck. Nagpabilin kini nga magdesisyon kung unsa ang atong buhaton.

Giunsa pagkab-ot sa Badoo ang abilidad sa pagpadala sa 200k nga mga litrato matag segundo

Ang una, labing klaro nga butang nga mahimo namon mao ang pag-modernize sa LTM mismo. Apan adunay pipila nga mga nuances dinhi, tungod kay kini nga hardware talagsaon kaayo, dili ka moadto sa labing duol nga supermarket ug paliton kini. Kini usa ka bulag nga kontrata, usa ka lahi nga kontrata sa lisensya, ug magkinahanglan kini og daghang oras. Ang ikaduha nga kapilian mao ang pagsugod sa paghunahuna alang sa imong kaugalingon, paghimo sa imong kaugalingon nga solusyon gamit ang imong kaugalingon nga mga sangkap, labi nga gamit ang usa ka bukas nga programa sa pag-access. Ang nahabilin mao ang pagdesisyon kung unsa gyud ang among pilion alang niini ug kung pila ka oras ang among igugol sa pagsulbad sa kini nga problema, tungod kay ang mga tiggamit wala makadawat igo nga mga litrato. Busa, kinahanglan natong buhaton kining tanan sa labing madali, mahimong isulti kagahapon.

Tungod kay ang buluhaton ingon og "buhata ang usa ka butang sa labing madali nga mahimo ug gamit ang hardware nga naa kanamo," ang una nga butang nga among gihunahuna mao ang pagtangtang sa pipila nga dili kaayo kusgan nga mga makina gikan sa atubangan, ibutang ang Nginx didto, diin nahibal-an namon kung giunsa. pagtrabaho ug pagsulay sa pagpatuman sa tanan nga parehas nga lohika nga gigamit sa hardware. Sa ato pa, sa tinuud, gibiyaan namon ang among hardware, nag-install og 4 pa nga mga server nga kinahanglan namon nga i-configure, nagmugna og mga eksternal nga domain alang kanila, parehas kung giunsa kini 10 ka tuig ang milabay... Nawala kami gamay nga magamit kung kini nga mga makina nahulog, apan gamay pa, ilang nasulbad ang problema sa among mga tiggamit sa lokal.

Tungod niini, ang lohika nagpabilin nga pareho: among gi-install ang Nginx, mahimo kini nga SSL-offload, mahimo namon nga programa ang routing logic, pag-check sa kahimsog sa mga config ug yano nga doblehon ang logic nga naa namo kaniadto.

Manglingkod ta para magsulat ug mga config. Sa sinugdan ingon og ang tanan yano ra kaayo, apan, sa kasubo, lisud kaayo ang pagpangita sa mga manwal alang sa matag buluhaton. Busa, dili namo girekomenda nga mag-goog lang "kung giunsa ang pag-configure sa Nginx alang sa mga litrato": mas maayo nga i-refer ang opisyal nga dokumentasyon, nga magpakita kung unsang mga setting ang kinahanglan matandog. Apan mas maayo nga pilion ang piho nga parameter sa imong kaugalingon. Aw, unya ang tanan yano ra: gihulagway namon ang mga server nga naa kanamo, gihulagway namon ang mga sertipiko ... Apan ang labing makapaikag nga butang mao, sa tinuud, ang lohika sa ruta mismo.

Sa sinugdan ingon og kami naghulagway lamang sa among lokasyon, nga nagpares sa gidaghanon sa among cache sa litrato niini, gamit ang among mga kamot o usa ka generator aron ihulagway kung pila ka mga upstream ang among gikinahanglan, sa matag upstream among gipakita ang server diin ang trapiko kinahanglan. lakaw, ug usa ka backup nga server - kung ang panguna nga server wala magamit:

Giunsa pagkab-ot sa Badoo ang abilidad sa pagpadala sa 200k nga mga litrato matag segundo

Apan, lagmit, kon ang tanan yano ra, mamauli na lang kami ug dili mosulti ug bisan unsa. Ikasubo, uban ang default nga mga setting sa Nginx, nga, sa kinatibuk-an, gihimo sa daghang mga tuig sa pag-uswag ug dili hingpit nga angay alang niini nga kaso ... ang config ingon niini: kung ang pipila nga upstream server adunay sayup nga hangyo o timeout, ang Nginx kanunay ibalhin ang trapiko sa sunod. Dugang pa, pagkahuman sa una nga kapakyasan, sa sulod sa 10 segundos ang server usab mapalong, pareho sa sayup ug sa timeout - dili kini ma-configure sa bisan unsang paagi. Kana mao, kung atong tangtangon o i-reset ang timeout nga opsyon sa upstream nga direktiba, nan, bisan tuod ang Nginx dili moproseso niini nga hangyo ug motubag uban sa pipila nga dili kaayo maayo nga sayup, ang server mosira.

Giunsa pagkab-ot sa Badoo ang abilidad sa pagpadala sa 200k nga mga litrato matag segundo

Aron malikayan kini, gibuhat namo ang duha ka butang:

a) gidid-an nila ang Nginx sa pagbuhat niini nga mano-mano - ug sa kasubo, ang bugtong paagi aron mahimo kini mao ang yano nga pagtakda sa mga setting sa max fails.

b) nahinumduman namo nga sa ubang mga proyekto migamit mi og module nga nagtugot kanamo sa paghimo og background health checks - sumala niana, kanunay namong gihimo ang mga health check aron ang downtime kung adunay aksidente gamay ra.

Ikasubo, dili usab kini tanan, tungod kay sa literal ang una nga duha ka semana nga operasyon sa kini nga laraw nagpakita nga ang TCP health-check usa usab ka dili kasaligan nga butang: sa upstream server dili kini Nginx, o Nginx sa D-state, ug sa kini nga kaso ang kernel modawat sa koneksyon, ang health-check moagi, apan dili molihok. Busa, gipulihan dayon namo kini sa health-check nga http, naghimo sa usa ka espesipiko, nga, kung kini mobalik sa 200, nan ang tanan nagtrabaho niini nga script. Mahimo nimong buhaton ang dugang nga lohika - pananglitan, sa kaso sa mga server sa pag-cache, susiha nga ang file system na-mount sa husto:

Giunsa pagkab-ot sa Badoo ang abilidad sa pagpadala sa 200k nga mga litrato matag segundo

Ug kini angay kanamo, gawas nga sa pagkakaron ang sirkito hingpit nga gisubli kung unsa ang gibuhat sa hardware. Apan gusto namong mobuhat og mas maayo. Kaniadto, kami adunay usa ka backup nga server, ug kini tingali dili kaayo maayo, tungod kay kung ikaw adunay usa ka gatos nga mga server, unya kung daghang mapakyas sa usa ka higayon, ang usa ka backup nga server dili tingali makasagubang sa pagkarga. Busa, nakahukom kami nga ipang-apod-apod ang reserbasyon sa tanan nga mga server: naghimo lang kami og lain nga bulag nga upstream, gisulat ang tanan nga mga server didto nga adunay piho nga mga parameter uyon sa load nga ilang maserbisyohan, gidugang ang parehas nga mga pagsusi sa kahimsog nga naa namo kaniadto:

Giunsa pagkab-ot sa Badoo ang abilidad sa pagpadala sa 200k nga mga litrato matag segundo

Tungod kay imposible ang pag-adto sa laing upstream sulod sa usa ka upstream, kinahanglan nga sigurohon nga kung ang main upstream, diin among girekord ang husto, gikinahanglan nga cache sa litrato, dili magamit, miagi lang kami sa error_page aron mabalik, gikan sa diin kami miadto sa backup upstream:

Giunsa pagkab-ot sa Badoo ang abilidad sa pagpadala sa 200k nga mga litrato matag segundo

Ug pinaagi sa literal nga pagdugang sa upat ka mga server, kini ang among nakuha: gipulihan namon ang bahin sa karga - among gikuha kini gikan sa LTM sa kini nga mga server, gipatuman ang parehas nga lohika didto, gamit ang standard nga hardware ug software, ug nadawat dayon ang bonus nga mahimo niini nga mga server. i-scale, tungod kay mahimo ra silang ma-supply kung gikinahanglan. Aw, ang negatibo ra mao nga nawad-an kami og taas nga magamit alang sa mga eksternal nga tiggamit. Apan niadtong higayona kinahanglan namong isakripisyo kini, tungod kay gikinahanglan nga masulbad dayon ang problema. Busa, gikuha namo ang bahin sa load, kini mga 40% niadtong panahona, ang LTM mibati og maayo, ug sa literal duha ka semana human nagsugod ang problema, nagsugod kami sa pagpadala dili 45k nga mga hangyo kada segundo, apan 55k. Sa tinuud, mitubo kami sa 20% - klaro nga kini ang trapiko nga wala namon gihatag sa tiggamit. Ug pagkahuman nagsugod sila sa paghunahuna kung giunsa pagsulbad ang nahabilin nga problema - aron masiguro ang taas nga pag-access sa gawas.

Giunsa pagkab-ot sa Badoo ang abilidad sa pagpadala sa 200k nga mga litrato matag segundo

Kami adunay pipila ka paghunong, diin among gihisgutan kung unsang solusyon ang among gamiton alang niini. Adunay mga sugyot aron masiguro ang pagkakasaligan gamit ang DNS, uban sa tabang sa pipila ka mga script nga gisulat sa balay, dinamikong mga protocol sa ruta ... adunay daghang mga kapilian, apan nahimo na nga tin-aw nga alang sa tinuud nga kasaligan nga paghatud sa mga litrato, kinahanglan nimo nga ipaila ang lain nga layer nga momonitor niini. Gitawag namo kining mga makina nga mga direktor sa litrato. Ang software nga among gisaligan mao ang Keepalived:

Giunsa pagkab-ot sa Badoo ang abilidad sa pagpadala sa 200k nga mga litrato matag segundo

Sa pagsugod, unsa ang gilangkuban sa Keepalived? Ang una mao ang VRRP protocol, kay kaylap nga nailhan sa mga networker, nga nahimutang sa network equipment nga naghatag og fault tolerance sa external IP address nga gikonektar sa mga kliyente. Ang ikaduhang bahin mao ang IPVS, IP virtual server, para sa pagbalanse tali sa mga photo router ug pagsiguro sa fault tolerance niini nga lebel. Ug ikatulo - mga pagsusi sa kahimsog.

Magsugod ta sa unang bahin: VRRP - unsay hitsura niini? Adunay usa ka piho nga virtual IP, nga adunay usa ka entry sa dns badoocdn.com, diin ang mga kliyente nagkonektar. Sa usa ka punto sa panahon, kami adunay usa ka IP address sa usa ka server. Ang Keepalived packets nagdagan tali sa mga server gamit ang VRRP protocol, ug kung ang master mawala sa radar - ang server nag-reboot o lain pa, unya ang backup server awtomatik nga nagkuha niini nga IP address - walay manual nga mga aksyon ang gikinahanglan. Ang kalainan tali sa master ug backup mao ang panguna nga prayoridad: kung mas taas kini, mas dako ang higayon nga ang makina mahimong master. Usa ka dako kaayo nga bentaha mao nga dili nimo kinahanglan nga i-configure ang mga IP address sa server mismo, igo na nga ihulagway kini sa config, ug kung ang mga adres sa IP nanginahanglan pipila nga mga lagda sa pag-ruta, direkta kini nga gihulagway sa config, gamit ang parehas nga syntax sama sa gihulagway sa VRRP package. Dili ka makasugat ug bisan unsang dili pamilyar nga mga butang.

Giunsa pagkab-ot sa Badoo ang abilidad sa pagpadala sa 200k nga mga litrato matag segundo

Unsa ang hitsura niini sa praktis? Unsa ang mahitabo kung ang usa sa mga server mapakyas? Sa diha nga nawala ang agalon, ang among backup mihunong sa pagdawat sa mga ad ug awtomatiko nga mahimong master. Pagkahuman sa pila ka oras, giayo namon ang agalon, gi-reboot, gipataas ang Keepalived - ang mga ad nag-abut nga adunay mas taas nga prayoridad kaysa sa backup, ug ang backup awtomatikong mobalik, gitangtang ang mga IP address, wala’y kinahanglan nga buhaton sa manual.

Giunsa pagkab-ot sa Badoo ang abilidad sa pagpadala sa 200k nga mga litrato matag segundo

Sa ingon, gisiguro namon ang pagtugot sa sayup sa eksternal nga IP address. Ang sunod nga bahin mao ang pagbalanse sa trapiko gikan sa external IP address ngadto sa mga photo routers nga nagtapos na niini. Ang tanan klaro kaayo sa mga protocol sa pagbalanse. Kini usa ka yano nga round-robin, o gamay nga mas komplikado nga mga butang, wrr, lista nga koneksyon ug uban pa. Kini batakan nga gihulagway sa dokumentasyon, walay espesyal. Apan ang paagi sa paghatod... Dinhi atong tan-awon pag-ayo kon nganong gipili nato ang usa niini. Kini mao ang NAT, Direct Routing ug TUN. Ang tinuod mao nga nagplano dayon kami nga maghatud sa 100 gigabit nga trapiko gikan sa mga site. Kung imong gibanabana, kinahanglan nimo ang 10 gigabit nga mga kard, dili ba? Ang 10 gigabit nga mga kard sa usa ka server wala na sa kasangkaran sa, labing menos, ang among konsepto sa "standard nga kagamitan". Ug dayon nahinumduman namo nga dili lang kami mohatag og pipila ka trapiko, manghatag kami og mga litrato.

Unsa ang espesyal? - Dako nga kalainan tali sa umaabot ug paggawas nga trapiko. Ang umaabot nga trapiko gamay kaayo, ang paggawas nga trapiko dako kaayo:

Giunsa pagkab-ot sa Badoo ang abilidad sa pagpadala sa 200k nga mga litrato matag segundo

Kung imong tan-awon kini nga mga graph, imong makita nga sa higayon nga ang direktor nakadawat mga 200 MB matag segundo, kini usa ka ordinaryo nga adlaw. Gibalik namo ang 4,500 MB kada segundo, ang among ratio kay gibana-bana nga 1/22. Klaro na nga aron hingpit nga mahatagan ang outgoing nga trapiko sa 22 nga mga server sa trabahante, kinahanglan ra naton ang usa nga modawat niini nga koneksyon. Dinhi ang direkta nga routing algorithm moabut sa among tabang.

Unsa ang hitsura niini? Ang among direktor sa litrato, sumala sa iyang lamesa, nagpadala mga koneksyon sa mga router sa litrato. Apan ang mga router sa litrato nagpadala sa pagbalik sa trapiko direkta sa Internet, ipadala kini sa kliyente, dili kini mobalik pinaagi sa direktor sa litrato, sa ingon, nga adunay labing gamay nga gidaghanon sa mga makina, gisiguro namon nga hingpit nga pagtugot sa sayup ug pagbomba sa tanan nga trapiko. Sa mga configs kini tan-awon sama niini: among gipiho ang algorithm, sa among kaso kini usa ka yano nga rr, paghatag sa direkta nga pamaagi sa pag-ruta ug dayon magsugod sa paglista sa tanan nga tinuod nga mga server, pila kanila ang naa namo. Nga maoy magdeterminar niini nga trapiko. Kung kami adunay usa o duha pa nga mga server didto, o daghang mga server, ang ingon nga panginahanglan mitungha - among idugang kini nga seksyon sa config ug ayaw kabalaka. Gikan sa kilid sa tinuod nga mga server, gikan sa kilid sa photo router, kini nga pamaagi nagkinahanglan sa pinakagamay nga configuration, kini hingpit nga gihulagway sa dokumentasyon, ug walay mga lit-ag didto.

Ang labi ka nindot mao nga ang ingon nga solusyon wala magpasabut sa usa ka radikal nga pagdesinyo pag-usab sa lokal nga network; kini hinungdanon alang kanamo; kinahanglan namon nga sulbaron kini nga adunay gamay nga gasto. Kung tan-awon nimo IPVS admin command output, unya atong tan-awon kon unsay hitsura niini. Dinhi kami adunay usa ka virtual server, sa port 443, naminaw, midawat sa koneksyon, ang tanan nga nagtrabaho nga mga server gilista, ug imong makita nga ang koneksyon mao, paghatag o pagkuha, parehas. Kung atong tan-awon ang mga estadistika sa parehas nga virtual server, kita adunay umaabot nga mga pakete, umaabot nga mga koneksyon, apan hingpit nga wala’y mga nanggawas. Ang mga outgoing nga koneksyon direktang moadto sa kliyente. Okay, nakahimo kami sa pag-unbalance niini. Karon, unsa ang mahitabo kung ang usa sa among mga router sa litrato mapakyas? Human sa tanan, puthaw mao ang puthaw. Mahimong mahadlok kini sa kernel, mahimong maguba, masunog ang suplay sa kuryente. Bisan unsa. Mao nga gikinahanglan ang health check. Mahimo silang yano sama sa pagsusi kung giunsa bukas ang pantalan, o usa ka butang nga labi ka komplikado, hangtod sa pipila nga mga script nga gisulat sa balay nga magsusi pa sa lohika sa negosyo.

Mihunong kami sa usa ka dapit sa tunga-tunga: kami adunay usa ka https nga hangyo sa usa ka piho nga lokasyon, ang script gitawag, kung kini motubag sa ika-200 nga tubag, kami nagtuo nga ang tanan maayo sa kini nga server, nga kini buhi ug mahimo nga ma-on. dali ra.

Giunsa kini, pag-usab, tan-awon sa praktis? Atong i-off ang server alang sa pagmentinar - pag-flash sa BIOS, pananglitan. Sa mga troso diha-diha dayon kita adunay usa ka timeout, atong makita ang unang linya, unya human sa tulo ka mga pagsulay kini gimarkahan ingon nga "napakyas", ug kini yano nga gikuha gikan sa listahan.

Giunsa pagkab-ot sa Badoo ang abilidad sa pagpadala sa 200k nga mga litrato matag segundo

Posible usab ang ikaduha nga kapilian sa pamatasan, kung ang VS gibutang sa zero, apan kung ibalik ang litrato, dili kini maayo. Ang server moabut, ang Nginx nagsugod didto, ang pagsusi sa kahimsog diha-diha dayon nakasabut nga ang koneksyon nagtrabaho, nga ang tanan maayo, ug ang server makita sa among listahan, ug ang load diha-diha dayon nagsugod sa paggamit niini. Walay manual nga mga aksyon ang gikinahanglan gikan sa duty administrator. Ang server nag-reboot sa gabii - ang departamento sa pag-monitor wala magtawag kanamo bahin niini sa gabii. Gipahibalo ka nila nga kini nahitabo, maayo ang tanan.

Mao nga, sa medyo yano nga paagi, sa tabang sa gamay nga gidaghanon sa mga server, nasulbad namon ang problema sa pagtugot sa gawas nga sayup.

Ang nahabilin nga isulti mao nga kining tanan, siyempre, kinahanglan nga bantayan. Sa tinuud, kinahanglan nga matikdan nga ang Keepalivede, ingon nga software nga gisulat sa dugay na nga panahon, adunay daghang mga paagi sa pag-monitor niini, parehas nga gigamit ang mga tseke pinaagi sa DBus, SMTP, SNMP, ug standard Zabbix. Dugang pa, nahibal-an niya mismo kung unsaon pagsulat ang mga sulat sa halos matag pagbahing, ug sa tinuod lang, sa usa ka punto nakahunahuna pa gani kami sa pagpalong niini, tungod kay nagsulat siya og daghang mga sulat alang sa bisan unsang traffic switching, switching on, alang sa matag IP connection, ug uban pa . Siyempre, kung adunay daghang mga server, mahimo nimong mabug-atan ang imong kaugalingon sa kini nga mga sulat. Among gimonitor ang nginx sa mga photo router gamit ang standard nga mga pamaagi, ug ang hardware monitoring wala mawala. Kami, siyempre, magtambag sa duha pa ka mga butang: una, ang mga pagsusi sa kahimsog sa gawas ug pagkaanaa, tungod kay bisan kung ang tanan molihok, sa tinuud, tingali ang mga tiggamit dili makadawat mga litrato tungod sa mga problema sa mga eksternal nga tighatag o usa ka butang nga labi ka komplikado. Kanunay nga takus ang pagtipig sa usa ka lugar sa lain nga network, sa Amazon o bisan diin, usa ka bulag nga makina nga mahimo’g mag-ping sa imong mga server gikan sa gawas, ug takus usab nga gamiton ang bisan unsang pagtuki sa anomaliya, alang sa mga nahibal-an kung giunsa ang paghimo sa malisud nga pagkat-on sa makina, o yano nga pag-monitor. , labing menos aron masubay kung ang mga hangyo mius-os pag-ayo, o, sa sukwahi, misaka. Mahimo usab kini nga mapuslanon.

Atong i-summarize: kita, sa pagkatinuod, gipulihan ang puthaw nga panapton nga solusyon, nga sa usa ka punto mihunong sa pagpahaom kanato, uban sa usa ka medyo yano nga sistema nga sa pagbuhat sa tanan nga mga sa mao usab nga, nga mao, kini naghatag sa pagtapos sa HTTPS trapiko ug sa dugang nga maalamon routing uban sa gikinahanglan nga mga pagsusi sa panglawas. Gidugangan namon ang kalig-on niini nga sistema, nga mao, aduna pa kami taas nga magamit alang sa matag layer, dugang nga nakuha namon ang bonus nga sayon ​​​​ra ang pag-scale sa tanan sa matag layer, tungod kay kini usa ka standard nga hardware nga adunay standard software, kana. , gipasimple namo ang pag-diagnose sa posibleng mga problema.

Unsa ang among natapos? Nagkaproblema kami sa mga pista opisyal sa Enero sa 2018. Sa una nga unom ka bulan samtang gipatuman namon kini nga laraw, gipalapdan namon kini sa tanan nga trapiko aron makuha ang tanan nga trapiko gikan sa LTM, mitubo ra kami sa trapiko sa usa ka sentro sa datos gikan sa 40 gigabits hangtod 60 gigabits, ug sa parehas nga oras alang sa ang tibuok 2018 nga tuig nakahimo sa pagpadala hapit tulo ka beses nga dugang nga mga litrato matag segundo.

Giunsa pagkab-ot sa Badoo ang abilidad sa pagpadala sa 200k nga mga litrato matag segundo

Source: www.habr.com

Idugang sa usa ka comment