Web HighLoad - kung giunsa namo pagdumala ang trapiko alang sa napulo ka libo nga mga dominyo

Ang lehitimong trapiko sa DDoS-Guard network bag-o lang milapas sa usa ka gatos ka gigabit kada segundo. Sa pagkakaron, 50% sa tanan namong trapiko namugna sa mga serbisyo sa web sa kliyente. Daghan kini nga napulo ka libo nga mga dominyo, lahi kaayo ug sa kadaghanan nga mga kaso nanginahanglan usa ka indibidwal nga pamaagi.

Ubos sa pagputol mao kung giunsa namo pagdumala ang mga front node ug nag-isyu sa mga sertipiko sa SSL alang sa gatusan ka libo nga mga site.

Web HighLoad - kung giunsa namo pagdumala ang trapiko alang sa napulo ka libo nga mga dominyo

Ang pagpahimutang sa usa ka atubangan alang sa usa ka site, bisan usa ka dako kaayo, sayon. Gikuha namon ang nginx o haproxy o lighttpd, i-configure kini sumala sa mga giya ug kalimtan kini. Kung kinahanglan namong usbon ang usa ka butang, mag-reload kami ug kalimtan pag-usab.

Ang tanan mausab kung imong giproseso ang daghang mga volume sa trapiko sa langaw, pagtimbang-timbang sa pagkalehitimo sa mga hangyo, pag-compress ug pag-cache sa sulud sa tiggamit, ug sa samang higayon usbon ang mga parameter sa daghang beses matag segundo. Gusto sa user nga makita ang resulta sa tanang external node dayon human niya mausab ang mga setting sa iyang personal nga account. Ang usa ka tiggamit mahimo usab nga mag-download sa pipila ka libo (ug usahay napulo ka libo) nga mga dominyo nga adunay indibidwal nga mga parameter sa pagproseso sa trapiko pinaagi sa API. Ang tanan nga kini kinahanglan usab nga molihok dayon sa America, ug sa Europe, ug sa Asya - ang buluhaton dili ang labing hinungdanon, tungod kay sa Moscow ra adunay daghang mga pisikal nga gibulag nga mga node sa pagsala.

Ngano nga adunay daghang dagkong kasaligan nga mga node sa tibuuk kalibutan?

  • Ang kalidad sa serbisyo alang sa trapiko sa kliyente - ang mga hangyo gikan sa USA kinahanglan nga iproseso sa USA (lakip ang mga pag-atake, pag-parse ug uban pang mga anomaliya), ug dili gibira sa Moscow o Europe, nga dili matag-an nga nagdugang sa paglangan sa pagproseso.

  • Ang trapiko sa pag-atake kinahanglan nga ma-localize - ang mga operator sa transit mahimong madaot sa panahon sa mga pag-atake, ang gidaghanon niini kanunay nga molapas sa 1Tbps. Ang pagdala sa trapiko sa pag-atake sa mga transatlantic o transasian nga mga link dili maayong ideya. Kami adunay tinuod nga mga kaso sa dihang ang Tier-1 nga mga operator miingon: "Ang gidaghanon sa mga pag-atake nga imong nadawat peligroso alang kanamo." Mao nga gidawat namo ang umaabot nga mga sapa nga duol sa ilang mga tinubdan kutob sa mahimo.

  • Ang higpit nga mga kinahanglanon alang sa pagpadayon sa serbisyo - ang mga sentro sa paglimpyo kinahanglan dili magdepende sa usag usa o sa lokal nga mga panghitabo sa atong paspas nga pagbag-o sa kalibutan. Giputol ba nimo ang kuryente sa tanang 11 ka andana sa MMTS-9 sulod sa usa ka semana? - walay problema. Walay bisan usa ka kliyente nga walay pisikal nga koneksyon niining partikular nga lokasyon ang mag-antos, ug ang mga serbisyo sa web dili mag-antos ubos sa bisan unsang mga kahimtang.

Unsaon pagdumala niining tanan?

Ang mga pag-configure sa serbisyo kinahanglan nga ipang-apod-apod sa tanan nga mga node sa unahan sa labing madali (mas maayo nga diha-diha dayon). Dili nimo mahimo nga kuhaon ug tukuron pag-usab ang mga config sa teksto ug i-reboot ang mga daemon sa matag pagbag-o - ang parehas nga nginx nagpadayon sa pagsira sa mga proseso (pagsira sa trabahante) sulod sa pipila ka minuto (o tingali mga oras kung adunay taas nga mga sesyon sa websocket).

Kung gi-reload ang pag-configure sa nginx, normal ang mosunod nga litrato:

Web HighLoad - kung giunsa namo pagdumala ang trapiko alang sa napulo ka libo nga mga dominyo

Sa paggamit sa memorya:

Web HighLoad - kung giunsa namo pagdumala ang trapiko alang sa napulo ka libo nga mga dominyo

Ang mga tigulang nga trabahante mokaon sa panumduman, lakip ang panumduman nga dili linearly nagdepende sa gidaghanon sa mga koneksyon - kini normal. Kung ang mga koneksyon sa kliyente sirado, kini nga panumduman mapagawas.

Ngano nga dili kini usa ka isyu sa dihang nagsugod pa ang nginx? Walay HTTP/2, walay WebSocket, walay daghang dugay nga padayon nga buhi nga koneksyon. Ang 70% sa among trapiko sa web kay HTTP/2, nga nagpasabot ug taas kaayo nga koneksyon.

Ang solusyon yano ra - ayaw gamita ang nginx, ayaw pagdumala sa mga front base sa mga text file, ug sigurado nga dili magpadala mga naka-zip nga mga pag-configure sa teksto sa mga transpacific channel. Ang mga kanal, siyempre, gigarantiyahan ug gireserba, apan wala kana maghimo kanila nga dili kaayo transcontinental.

Kami adunay kaugalingon nga front server-balancer, ang mga internal nga akong hisgutan sa sunod nga mga artikulo. Ang panguna nga butang nga mahimo niini mao ang pagpadapat sa libu-libo nga mga pagbag-o sa pag-configure matag segundo sa langaw, nga wala’y pag-restart, pag-reload, kalit nga pagtaas sa konsumo sa memorya, ug tanan kana. Kini susama kaayo sa Hot Code Reload, pananglitan sa Erlang. Ang datos gitipigan sa usa ka geo-distributed key-value database ug gibasa dayon sa mga front actuator. Mga. imong i-upload ang SSL certificate pinaagi sa web interface o API sa Moscow, ug sa pipila ka segundo andam na kini nga moadto sa among cleaning center sa Los Angeles. Kung ang usa ka gubat sa kalibutan kalit nga mahitabo ug ang Internet mawala sa tibuok kalibutan, ang atong mga node magpadayon sa pagtrabaho nga awtonomiya ug ayohon ang split-brain sa diha nga ang usa sa gipahinungod nga mga channel Los Angeles-Amsterdam-Moscow, Moscow-Amsterdam-Hong Kong- Mahimong magamit ang Los-Los. Angeles o labing menos usa sa GRE backup nga mga overlay.

Kining sama nga mekanismo nagtugot kanamo sa pag-isyu ug pagbag-o dayon sa Let's Encrypt nga mga sertipiko. Sa yano nga paagi kini molihok sama niini:

  1. Sa diha nga makakita kami ug bisan usa ka HTTPS nga hangyo alang sa domain sa among kliyente nga walay sertipiko (o adunay usa ka expired nga sertipiko), ang eksternal nga node nga midawat sa hangyo nagtaho niini ngadto sa internal nga awtoridad sa sertipikasyon.

    Web HighLoad - kung giunsa namo pagdumala ang trapiko alang sa napulo ka libo nga mga dominyo

  2. Kung wala gidili sa user ang pag-isyu sa Let's Encrypt, ang awtoridad sa sertipikasyon nagmugna og CSR, makadawat og confirmation token gikan sa LE ug ipadala kini sa tanang nataran sa usa ka encrypted channel. Karon ang bisan unsang node makakumpirma sa usa ka pag-validate nga hangyo gikan sa LE.

    Web HighLoad - kung giunsa namo pagdumala ang trapiko alang sa napulo ka libo nga mga dominyo

  3. Sa pila ka gutlo, makadawat kami sa husto nga sertipiko ug pribado nga yawe ug ipadala kini sa mga atubangan sa parehas nga paagi. Pag-usab, nga wala i-restart ang mga daemon

    Web HighLoad - kung giunsa namo pagdumala ang trapiko alang sa napulo ka libo nga mga dominyo

  4. 7 ka adlaw sa wala pa ang petsa sa pag-expire, ang pamaagi alang sa pagdawat pag-usab sa sertipiko gisugdan

Karon kami nagtuyok sa 350k nga mga sertipiko sa tinuud nga oras, hingpit nga transparent sa mga tiggamit.

Sa mosunod nga mga artikulo sa serye, ako maghisgot mahitungod sa ubang mga bahin sa real-time nga pagproseso sa dako nga trapiko sa web - pananglitan, mahitungod sa pag-analisar sa RTT gamit ang dili kompleto nga datos aron mapalambo ang kalidad sa serbisyo alang sa mga kliyente sa transit ug sa kinatibuk-an mahitungod sa pagpanalipod sa trapiko sa transit gikan sa terabit nga mga pag-atake, mahitungod sa paghatod ug paghugpong sa impormasyon sa trapiko, mahitungod sa WAF, halos walay kinutuban nga CDN ug daghang mga mekanismo alang sa pag-optimize sa paghatud sa sulod.

Ang mga rehistradong tiggamit lamang ang makaapil sa survey. Sign in, walay sapayan.

Unsa ang gusto nimong mahibal-an una?

  • 14,3%Algorithm para sa clustering ug pag-analisar sa kalidad sa trapiko sa web<3

  • 33,3%Mga sulud sa mga balanse sa DDoS-Guard7

  • 9,5%Proteksyon sa transit L3/L4 nga trapiko2

  • 0,0%Pagpanalipod sa mga website sa trapiko sa transit0

  • 14,3%Web Application Firewall3

  • 28,6%Proteksyon batok sa pag-parse ug pag-klik6

21 ka tiggamit ang nagboto. 6 ka tiggamit ang nag-abstain.

Source: www.habr.com

Idugang sa usa ka comment