Web-HighLoad - si menaxhojmë trafikun e dhjetëra mijëra domeneve

Traffiku legjitim në rrjetin DDoS-Guard së fundmi ka tejkaluar njëqind gigabit në sekondë. Tani 50% e gjithë trafikut tonë gjenerohet nga shërbimet web të klientëve. Këto janë shumë dhjetëra mijëra domene, shumë të ndryshme dhe në shumicën e rasteve kërkojnë një qasje individuale.

Poshtë - si menaxhojmë nodet para dhe ofrojmë Certifikatat SSL për qindra mijëra faqesh.

Web-HighLoad - si menaxhojmë trafikun e dhjetëra mijëra domeneve

Të konfigurosh një front për një faqe, madje edhe për një të shumë të madhe, është e thjeshtë. Marrim nginx, haproxy ose lighttpd, e konfigurojmë sipas udhëzimeve dhe harrojmë. Nëse na nevojitet të ndryshojmë diçka - bëjmë reload dhe sërish harrojmë.

Të gjitha ndryshon kur përpunoni në lëvizje sasi të mëdha trafiku, vlerësoni legjitimitetin e kërkesave, kompresoni dhe cache-oni përmbajtjen e përdoruesit, dhe në të njëjtën kohë ndryshoni parametrat disa herë në sekondë. Përdoruesi dëshiron të shohë rezultatin në të gjitha nodet e jashtme menjëherë pas ndryshimit të cilësimeve në llogarinë e tij. Dhe gjithashtu, përdoruesi mund të ngarkojë përmes API disa mijëra (dhe ndonjëherë dhjetëra mijëra) domene me parametra të veçantë për përpunimin e trafikut. Të gjitha këto gjithashtu duhet të funksionojnë menjëherë dhe në Amerikë, dhe në Evropë, dhe në Azinë - një detyrë jo shumë triviale, duke marrë parasysh se vetëm në Moskë ka disa nyje filtrimi të shpërndara fizikisht.

Pse ka kaq shumë nodë të mëdha besuese në të gjithë botën?

  • CilĂ«sia e shĂ«rbimit tĂ« trafikut tĂ« klientĂ«ve - kĂ«rkesat nga SHBA duhet tĂ« pĂ«rpunohen pikĂ«risht nĂ« SHBA (duke pĂ«rfshirĂ« pĂ«r sulme, parsing dhe anomalitĂ« e tjera), dhe jo tĂ« tĂ«rhiqen nĂ« MoskĂ« apo EvropĂ«, duke rritur papĂ«rcaktueshĂ«m vonesĂ«n e pĂ«rpunimit.
  • Trafiku sulmues duhet lokalizuar - operatorĂ«t e tranzitit mund tĂ« degradohen gjatĂ« sulmeve, sasia e tĂ« cilave shpesh tejkalon 1Tbps. TĂ« transportosh trafikun sulmues pĂ«rmes linjave transatlantike ose transaziatike - nuk Ă«shtĂ« ide e mirĂ«. Kemi pasur raste reale, kur operatorĂ«t Tier-1 thonin: "Sasia e sulmeve qĂ« po pranoni Ă«shtĂ« e rrezikshme pĂ«r ne". PikĂ«risht pĂ«r kĂ«tĂ« arsye ne pranojmĂ« rrjedhat e ardhshme sa mĂ« afĂ«r burimeve tĂ« tyre.
  • KĂ«rkesat e rrepta pĂ«r vazhdimĂ«sinĂ« e shĂ«rbimit — qendrat e pastrimit nuk duhet tĂ« varen nga njĂ«ra-tjetra, as nga ngjarjet lokale tĂ« botĂ«s sonĂ« qĂ« po ndryshon me shpejtĂ«si. U ndĂ«rpre energjia pĂ«r njĂ« javĂ« nĂ« tĂ« gjithĂ« 11 katet e MMT-9? — nuk Ă«shtĂ« aspak problem. AsnjĂ« klient nuk do tĂ« dĂ«mtohet, pĂ«rveç atyre qĂ« kanĂ« lidhje fizike nĂ« kĂ«tĂ« lokacion, dhe shĂ«rbimet nĂ« internet nuk do tĂ« preken nĂ« asnjĂ« rast.

Si mund të menaxhohet gjithçka kjo?

Konfigurimet e shĂ«rbimeve duhet tĂ« shpĂ«rndahen sa mĂ« shpejt (idealisht menjĂ«herĂ«) nĂ« tĂ« gjithĂ« front-nodet. Nuk mund tĂ« merrni dhe tĂ« rindĂ«rtoni konfigurimet tekstuale dhe tĂ« bĂ«ni rindezje demonĂ«sh pĂ«r çdo ndryshim — nginx mban proceset qĂ« po mbyllen (worker shutting down) pĂ«r disa minuta (apo ndoshta edhe orĂ« nĂ«se ka seanca tĂ« gjatĂ« websocket).

Kur rindez konfigurimin, pamja e mëposhtme është plotësisht normale:

Web-HighLoad - si menaxhojmë trafikun e dhjetëra mijëra domeneve

Për sa i përket riciklimit të memories:

Web-HighLoad - si menaxhojmë trafikun e dhjetëra mijëra domeneve

VorkerĂ«t e vjetĂ«r hanĂ« memorie, pĂ«rfshirĂ« edhe atĂ« qĂ« nuk varet linearisht nga numri i lidhjeve, — kjo Ă«shtĂ« normale. Kur lidhjet e klientĂ«ve mbyllen, kjo memorie do tĂ« lirohet.

Pse kjo nuk ishte një problem kur nginx sapo fillonte të zhvillohej? Nuk kishte as HTTP/2, as WebSocket, as lidhje të gjata dhe masive keep-alive. 70% e trafikut tonë të internetit është HTTP/2, dhe këto janë lidhje shumë të gjata.

Zgjidhja Ă«shtĂ« e thjeshtĂ« — mos pĂ«rdorni nginx, mos menaxhoni frontet mbi baza tĂ« skedarĂ«ve tekstualĂ«, dhe pĂ«r mĂ« tepĂ«r, mos dĂ«rgoni konfigurimet tekstuale tĂ« zipoara pĂ«rmes kanaleve transatlantike. Kanalet, sigurisht, janĂ« tĂ« garantuara dhe tĂ« rezervuara, por kjo nuk i bĂ«n mĂ« pak transkontinentale.

Ne kemi një server balancer front-end tonin, për të cilin do flas në artikujt e ardhshëm. Gjëja kryesore që ai bën është të aplikojë mijëra ndryshime konfigurimi në sekondë në flukse, pa restartime, reloadime, rritje të papritur të konsumit të memories dhe gjithçka tjetër. Kjo është shumë e ngjashme me Hot Code Reload, p.sh. në Erlang. Të dhënat ruhen në një bazë të shpërndarë gjeografikisht key-value dhe lexohen menjëherë nga mekanizmat ekzekutivë të frontit. Kështu që, keni ngarkuar një certifikat SSL përmes ndërfaqes së uebit ose API në Moskë, dhe brenda disa sekondash ai është gati për t'u përdorur në qendrën tonë të pastrimit në Los Anxhelos. Nëse ndodhi një luftë botërore dhe interneti zhduket në të gjithë botën, nodat tona do të vazhdojnë të punojnë autonomisht dhe do të riparojnë split-brain sapo të bëhet e disponueshme një nga kanalet e dedikuara Los Anxhelos-Amsterdam-Moskë, Moskë-Amsterdam-Hon Kong-Los Anxhelos, ose të paktën një nga GRE rezervuese.

Ky mekanizĂ«m po ashtu na lejon tĂ« lĂ«shojmĂ« dhe rinovojmĂ« menjĂ«herĂ« certifikatat Let’s Encrypt. NĂ« mĂ«nyrĂ« shumĂ« tĂ« thjeshtĂ«, kjo funksionon kĂ«shtu:

  1. Sa herë që shohim edhe një kërkesë HTTPS për domenin e klientit tonë pa certifikatë (ose me certifikatë të skaduar), nodi i jashtëm që pranonte kërkesën, e njofton këtë qendrën e brendshme të certifikimit.

    Web-HighLoad - si menaxhojmë trafikun e dhjetëra mijëra domeneve

  2. NĂ«se pĂ«rdoruesi nuk e ka ndaluar lĂ«shimin e Let’s Encrypt, qendra e certifikimit formon CSR, merr njĂ« token konfirmimi nga LE dhe e shpĂ«rndan atĂ« nĂ« tĂ« gjitha frontet pĂ«rmes njĂ« kanali tĂ« enkriptuar. Tani çdo nod mund tĂ« konfirmojĂ« kĂ«rkesĂ«n validuese nga LE.

    Web-HighLoad - si menaxhojmë trafikun e dhjetëra mijëra domeneve

  3. PĂ«r disa momente, do tĂ« marrim njĂ« certifikatĂ« tĂ« saktĂ« dhe çelĂ«sin privat dhe nĂ« po tĂ« njĂ«jtĂ«n mĂ«nyrĂ« do t’i shpĂ«rndajmĂ« frontet. Edhe njĂ«herĂ« pa rinisje demonĂ«sh.

    Web-HighLoad - si menaxhojmë trafikun e dhjetëra mijëra domeneve

  4. 7 ditë para datës së skadencës, fillon procedura e riparimit të certifikatës.

Për momentin, ne në kohë reale po rrotullojmë 350,000 certifikata plotësisht transparente për përdoruesit.

Në artikujt e ardhshëm të ciklit do flas për veçori të tjera të trajtimit në kohë reale të trafikut të madh në ueb - për shembull, rreth analizës së RTT sipas të dhënave të pa plota për përmirësimin e cilësisë së shërbimit për klientët transit dhe për mbrojtjen e trafikët të transit nga sulmet terabits, për dërgimin dhe agregimin e informacionit mbi trafik, për WAF, një CDN gati pa kufizime dhe shumë mekanizma optimizimi të dorëzimit të përmbajtjes.

Vetëm përdoruesit e regjistruar mund të marrin pjesë në anketë. Hyni, ju lutem.

Për çfarë do donit të dinit së pari?

  • 14,3%Algoritmet e klasterizimit dhe analizĂ«s sĂ« cilĂ«sisĂ« sĂ« trafikut nĂ« internet<3
  • 33,3%BrendĂ«sia e balancuesve DDoS-Guard7
  • 9,5%Mbrojtja e trafikshĂ«m L3/L42
  • 0,0%Mbrojtja e faqeve tĂ« internetit ndaj trafikshmeve tĂ« transmisionit0
  • 14,3%Firewalla pĂ«r Aplikacionin Web3
  • 28,6%Mbrojtja nga parserĂ«t dhe klikimet6

Votuan 21 përdorues. I abstenuan 6 përdorues.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster