Upakiaji wa Juu wa Wavuti - jinsi tunavyodhibiti trafiki kwa makumi ya maelfu ya vikoa

Trafiki halali kwenye mtandao wa DDoS-Guard hivi karibuni ilizidi gigabiti mia moja kwa sekunde. Hivi sasa, 50% ya trafiki yetu yote inatolewa na huduma za wavuti za mteja. Hizi ni makumi ya maelfu ya vikoa, tofauti sana na katika hali nyingi zinahitaji mbinu ya mtu binafsi.

Chini ya kata ni jinsi tunavyosimamia nodi za mbele na kutoa vyeti vya SSL kwa mamia ya maelfu ya tovuti.

Upakiaji wa Juu wa Wavuti - jinsi tunavyodhibiti trafiki kwa makumi ya maelfu ya vikoa

Kuweka mbele kwa tovuti moja, hata kubwa sana, ni rahisi. Tunachukua nginx au haproxy au lighttpd, tuisanidi kulingana na miongozo na kusahau kuhusu hilo. Ikiwa tunahitaji kubadilisha kitu, tunapakia upya na kusahau tena.

Kila kitu kinabadilika unaposindika idadi kubwa ya trafiki kwenye kuruka, tathmini uhalali wa maombi, compress na cache maudhui ya mtumiaji, na wakati huo huo kubadilisha vigezo mara kadhaa kwa pili. Mtumiaji anataka kuona matokeo kwenye nodi zote za nje mara baada ya kubadilisha mipangilio katika akaunti yake ya kibinafsi. Mtumiaji pia anaweza kupakua vikoa elfu kadhaa (na wakati mwingine makumi ya maelfu) na vigezo vya usindikaji wa trafiki kupitia API. Yote hii inapaswa pia kufanya kazi mara moja huko Amerika, na Ulaya, na Asia - kazi sio ndogo zaidi, kwa kuzingatia kwamba huko Moscow pekee kuna nodes kadhaa za filtration zilizotengwa kimwili.

Kwa nini kuna nodi nyingi kubwa zinazotegemeka kote ulimwenguni?

  • Ubora wa huduma kwa trafiki ya wateja - maombi kutoka Marekani yanahitaji kushughulikiwa nchini Marekani (ikiwa ni pamoja na mashambulizi, uchanganuzi na matatizo mengine), na si kuvutwa hadi Moscow au Ulaya, na kuongeza ucheleweshaji wa usindikaji bila kutabirika.

  • Trafiki ya mashambulizi lazima iwe ya ndani - waendeshaji wa usafiri wanaweza kuharibu wakati wa mashambulizi, kiasi ambacho mara nyingi huzidi 1Tbps. Kusafirisha trafiki ya mashambulizi kupitia viungo vya ng'ambo ya Atlantiki au ya kuvuka Asia si jambo zuri. Tulikuwa na matukio halisi wakati waendeshaji wa Tier-1 walisema: "Wingi wa mashambulizi unayopokea ni hatari kwetu." Ndiyo maana tunakubali mitiririko inayoingia karibu na vyanzo vyake iwezekanavyo.

  • Mahitaji madhubuti ya mwendelezo wa huduma - vituo vya kusafisha havipaswi kutegemeana au matukio ya ndani katika ulimwengu wetu unaobadilika kwa kasi. Je, ulikata umeme kwa orofa zote 11 za MMTS-9 kwa wiki? - hakuna shida. Hakuna mteja mmoja ambaye hana muunganisho wa kimwili katika eneo hili atakayeteseka, na huduma za wavuti hazitateseka kwa hali yoyote.

Jinsi ya kusimamia haya yote?

Mipangilio ya huduma inapaswa kusambazwa kwa nodi zote za mbele haraka iwezekanavyo (bora mara moja). Huwezi tu kuchukua na kuunda upya usanidi wa maandishi na kuwasha tena daemoni kila mabadiliko - nginx sawa huweka michakato kuzima (mfanyikazi kuzima) kwa dakika chache zaidi (au labda saa ikiwa kuna vipindi virefu vya soketi).

Wakati wa kupakia tena usanidi wa nginx, picha ifuatayo ni ya kawaida kabisa:

Upakiaji wa Juu wa Wavuti - jinsi tunavyodhibiti trafiki kwa makumi ya maelfu ya vikoa

Juu ya utumiaji wa kumbukumbu:

Upakiaji wa Juu wa Wavuti - jinsi tunavyodhibiti trafiki kwa makumi ya maelfu ya vikoa

Wafanyikazi wa zamani hula kumbukumbu, pamoja na kumbukumbu ambayo haitegemei kwa usawa idadi ya viunganisho - hii ni kawaida. Wakati miunganisho ya mteja imefungwa, kumbukumbu hii itaachiliwa.

Kwa nini hili halikuwa suala wakati nginx ilikuwa inaanza tu? Hakukuwa na HTTP/2, hakuna WebSocket, hakuna miunganisho mirefu ya kuweka hai. 70% ya trafiki yetu ya wavuti ni HTTP/2, ambayo inamaanisha miunganisho mirefu sana.

Suluhisho ni rahisi - usitumie nginx, usidhibiti mipaka kulingana na faili za maandishi, na hakika usitume usanidi wa maandishi yaliyofungwa juu ya njia za transpacific. Njia, bila shaka, zimehakikishwa na zimehifadhiwa, lakini hiyo haizifanyi kuvuka bara.

Tunayo seva-balancer yetu ya mbele, ya ndani ambayo nitazungumza juu yake katika nakala zifuatazo. Jambo kuu ambalo linaweza kufanya ni kutumia maelfu ya mabadiliko ya usanidi kwa sekunde kwa kuruka, bila kuanzisha upya, kupakia upya, ongezeko la ghafla la matumizi ya kumbukumbu, na yote hayo. Hii ni sawa na Upakiaji upya wa Msimbo Moto, kwa mfano huko Erlang. Data huhifadhiwa katika hifadhidata ya thamani ya ufunguo iliyosambazwa na kijiografia na inasomwa mara moja na vianzishaji vya mbele. Wale. unapakia cheti cha SSL kupitia kiolesura cha wavuti au API huko Moscow, na kwa sekunde chache iko tayari kwenda kwenye kituo chetu cha kusafisha huko Los Angeles. Ikiwa vita vya ulimwengu vitatokea ghafla na mtandao kutoweka ulimwenguni kote, nodi zetu zitaendelea kufanya kazi kwa uhuru na kurekebisha ubongo uliogawanyika mara tu moja ya chaneli zilizojitolea Los Angeles-Amsterdam-Moscow, Moscow-Amsterdam-Hong Kong- Los-Los inapatikana. Angeles au angalau mojawapo ya wekeleo mbadala za GRE.

Utaratibu huu huu unaturuhusu kutoa na kufanya upya vyeti vya Hebu Tusimba mara moja. Kwa urahisi sana inafanya kazi kama hii:

  1. Mara tu tunapoona angalau ombi moja la HTTPS la kikoa cha mteja wetu bila cheti (au cheti ambacho muda wake umeisha), nodi ya nje iliyokubali ombi huripoti hili kwa mamlaka ya uthibitishaji wa ndani.

    Upakiaji wa Juu wa Wavuti - jinsi tunavyodhibiti trafiki kwa makumi ya maelfu ya vikoa

  2. Ikiwa mtumiaji hajakataza utoaji wa Let's Encrypt, mamlaka ya uthibitishaji hutengeneza CSR, hupokea tokeni ya uthibitishaji kutoka kwa LE na kuituma kwa pande zote kwenye kituo kilichosimbwa. Sasa nodi yoyote inaweza kuthibitisha ombi la kuthibitisha kutoka kwa LE.

    Upakiaji wa Juu wa Wavuti - jinsi tunavyodhibiti trafiki kwa makumi ya maelfu ya vikoa

  3. Baada ya muda mchache, tutapokea cheti sahihi na ufunguo wa faragha na kuituma kwa mipaka kwa njia sawa. Tena, bila kuanzisha tena demons

    Upakiaji wa Juu wa Wavuti - jinsi tunavyodhibiti trafiki kwa makumi ya maelfu ya vikoa

  4. Siku 7 kabla ya tarehe ya kumalizika muda, utaratibu wa kupokea tena cheti umeanzishwa

Hivi sasa tunazungusha vyeti vya 350k kwa wakati halisi, kwa uwazi kabisa kwa watumiaji.

Katika makala zifuatazo za mfululizo, nitazungumzia vipengele vingine vya usindikaji wa wakati halisi wa trafiki kubwa ya mtandao - kwa mfano, kuhusu kuchambua RTT kwa kutumia data isiyo kamili ili kuboresha ubora wa huduma kwa wateja wa usafiri na kwa ujumla kuhusu kulinda trafiki ya usafiri kutoka. mashambulizi ya terabit, kuhusu utoaji na ujumlisho wa taarifa za trafiki, kuhusu WAF, karibu CDN isiyo na kikomo na mifumo mingi ya kuboresha utoaji wa maudhui.

Watumiaji waliojiandikisha pekee ndio wanaweza kushiriki katika utafiti. Weka sahihitafadhali.

Je, ungependa kujua nini kwanza?

  • 14,3%Kanuni za kuunganisha na kuchambua ubora wa trafiki ya wavuti<3

  • 33,3%Mambo ya ndani ya wasawazishaji wa DDoS-Guard7

  • 9,5%Ulinzi wa trafiki ya L3/L4

  • 0,0%Kulinda tovuti kwenye trafiki ya usafiri0

  • 14,3%Firewall ya Maombi ya Wavuti3

  • 28,6%Ulinzi dhidi ya kuchanganua na kubofya6

Watumiaji 21 walipiga kura. Watumiaji 6 walijizuia.

Chanzo: mapenzi.com

Kuongeza maoni