Hoe om verhoogde vragte op die stelsel te weerstaan: ons praat oor grootskaalse voorbereidings vir Swart Vrydag

Haai Habr!

In 2017, tydens Swart Vrydag, het vragte met byna een en 'n half keer toegeneem, en ons bedieners was op die grens van hul vermoëns. Oor die jaar het die aantal kliënte aansienlik gegroei, en dit het duidelik geword dat sonder noukeurige voorlopige voorbereiding, die platform dalk eenvoudig nie die vragte van 2018 kan weerstaan ​​nie.

Ons het die mees ambisieuse doelwit moontlik gestel: ons wou ten volle voorbereid wees op enige, selfs die kragtigste, uitbarstings van aktiwiteit en het gedurende die jaar vooraf nuwe vermoëns begin ontplooi.

Ons CTO Andrey Chizh (chizh_andrey) vertel hoe ons voorberei het vir Swart Vrydag 2018, watter maatreëls ons getref het om val te vermy, en natuurlik oor die resultate van sulke deeglike voorbereiding.

Hoe om verhoogde vragte op die stelsel te weerstaan: ons praat oor grootskaalse voorbereidings vir Swart Vrydag

Vandag wil ek praat oor voorbereidings vir Swart Vrydag 2018. Hoekom nou, wanneer die meeste van die groot verkope verby is? Ons het sowat 'n jaar voor grootskaalse veldtogte begin voorberei, en deur proef en fout het ons die beste oplossing gevind. Ons beveel ook aan dat jy vooraf sorg vir die warm seisoene en fakups voorkom wat op die mees ongeleë oomblik kan opduik.
Die materiaal sal nuttig wees vir almal wat die maksimum wins uit sulke promosies wil druk, want. die tegniese kant van die kwessie is nie minderwaardig hier as die bemarking een nie.

Kenmerke van verkeer op groot verkope

In teenstelling met die algemene opvatting, is Swart Vrydag nie net een dag per jaar nie, maar amper 'n hele week: die eerste afslagaanbiedinge word 7-8 dae voor die uitverkoping ontvang. Webwerfverkeer begin glad deur die week styg, bereik Vrydag sy hoogtepunt en daal Saterdag redelik skerp na die winkel se gereelde aanwysers.

Hoe om verhoogde vragte op die stelsel te weerstaan: ons praat oor grootskaalse voorbereidings vir Swart Vrydag

Dit is belangrik om in ag te neem: aanlynwinkels word veral sensitief vir enige "vertragings" in die stelsel. Daarbenewens het ons e-posbemarkingslyn ook 'n aansienlike toename in die aantal versendings ervaar.

Dit is vir ons strategies belangrik om Swart Vrydag sonder valle deur te gaan, want. Die belangrikste funksionaliteit van webwerwe en winkelnuusbriewe hang af van die werking van die platform, naamlik:

  • Volg en uitreik produkaanbevelings,
  • Uitreiking van verwante materiaal (byvoorbeeld ontwerpbeelde van aanbevelingsblokke, soos pyle, logo's, ikone en ander visuele elemente),
  • Uitreiking van produkbeelde van die vereiste grootte (vir hierdie doeleindes het ons 'n "ImageResizer" - 'n substelsel wat 'n prent van die winkel se bediener aflaai, dit saampers tot die verlangde grootte, en beelde van die vereiste grootte vir elke produk in elke aanbevelingsblok deur kasbedieners).

Trouens, tydens Swart Vrydag 2019 het die las op die diens met 40% toegeneem, d.w.s. die aantal gebeurtenisse wat deur die Retail Rocket-stelsel op aanlynwinkelwebwerwe gemonitor en verwerk word, het van 5 tot 8 duisend versoeke per sekonde gegroei. As gevolg van die feit dat ons voorberei het vir ernstiger vragte, het ons so 'n oplewing maklik oorleef.

Hoe om verhoogde vragte op die stelsel te weerstaan: ons praat oor grootskaalse voorbereidings vir Swart Vrydag

Algemene voorbereiding

Swart Vrydag is veral 'n warm tyd vir alle kleinhandel en e-handel. Die aantal gebruikers en hul aktiwiteit op hierdie tydstip groei soms, so ons het, soos altyd, deeglik voorberei vir hierdie besige tyd. Kom ons voeg hier die feit by dat baie aanlynwinkels aan ons gekoppel is, nie net in Rusland nie, maar ook in Europa, waar die opwinding baie hoër is, en ons 'n vlak van passie erger kry as die Brasiliaanse reeks. Wat moet gedoen word om ten volle voorbereid te wees vir verhoogde vragte?

Werk met bedieners

Om mee te begin, was dit nodig om uit te vind wat presies ons kort om die kapasiteit van die bedieners te verhoog. Reeds in Augustus het ons nuwe bedieners spesifiek vir Swart Vrydag begin bestel - in totaal het ons 10 bykomende masjiene bygevoeg. Teen November was hulle reeds ten volle in die geveg.

Terselfdertyd is sommige van die boumasjiene weer geïnstalleer vir gebruik as toepassingsbedieners. Ons het hulle dadelik voorberei om verskillende funksies te gebruik: beide vir die uitreiking van aanbevelings en vir die ImageResizer-diens, sodat, afhangende van die tipe vrag, elkeen van hulle vir een van hierdie rolle gebruik kan word. In normale modus het die Application- en ImageResizer-bedieners duidelik gedefinieerde funksies: eersgenoemde is besig met die uitreiking van aanbevelings, laasgenoemde verskaf beelde vir e-posse en aanbevelingsblokke op die aanlynwinkelwebwerf. Ter voorbereiding vir Swart Vrydag is daar besluit om alle bedieners dubbeldoel te maak om die verkeer tussen hulle te balanseer afhangende van die tipe aflaai.

Toe het ons twee groot bedieners vir Kafka (Apache Kafka) bygevoeg en 'n groep van 5 kragtige masjiene gekry. Ongelukkig het alles nie so glad verloop as wat ons sou wou nie: in die proses van datasinchronisasie het twee nuwe masjiene die hele breedte van die netwerkkanaal beset, en ons moes dringend uitvind hoe om die byvoegingsproses vinnig en veilig uit te voer vir die hele infrastruktuur. Om hierdie probleem op te los, moes ons administrateurs dapper dae verlof opoffer.

Werk met data

Benewens die bedieners, het ons besluit om die lêers te optimaliseer om die las te verlig, en die vertaling van statiese lêers was 'n groot stap vir ons. Alle statiese lêers wat voorheen op bedieners gehuisves is, is na S3 + Cloudfront geskuif. Ons wou dit al lankal doen, aangesien die las op die bediener naby die limietwaardes was, en nou het 'n goeie rede verskyn.

'n Week voor Swart Vrydag is die beeldkastyd tot 3 dae verhoog, sodat in die geval van 'n ImageResizer-ongeluk, voorheen gekaste beelde vanaf cdn verkry sou word. Dit het ook die las op ons bedieners verminder, want hoe langer die prent gestoor word, hoe minder dikwels hoef ons hulpbronne te spandeer om die grootte te verander.

Laastens, maar nie die minste nie, 5 dae voor Swart Vrydag, is 'n moratorium aangekondig op die ontplooiing van enige nuwe funksionaliteit, sowel as op enige infrastruktuurwerk - alle aandag is gerig op die hantering van verhoogde vragte.

Reaksieplanne vir moeilike situasies

Maak nie saak hoe goed die voorbereiding is nie, fokken is altyd moontlik. En ons het 3 reaksieplanne ontwikkel vir moontlike kritieke situasies:

  • las vermindering,
  • sommige dienste deaktiveer
  • volledige sluiting van die diens.

Plan A: Verminder vrag. Dit moes geaktiveer gewees het as, as gevolg van 'n toename in vrag, ons bedieners verder gaan as die toelaatbare reaksietydberekeninge. In hierdie geval het ons meganismes voorberei om die las geleidelik te verminder deur 'n deel van die verkeer na die Amazon-bedieners oor te skakel, wat eenvoudig "200 OK" sal terugstuur na alle versoeke en 'n leë antwoord gee. Ons het verstaan ​​dat dit 'n agteruitgang van die kwaliteit van die diens was, maar die keuse tussen die feit dat die diens glad nie werk nie of nie aanbevelings vir ongeveer 10% van die verkeer toon nie, is voor die hand liggend.

Plan B: Deaktiveer dienste. Ek het 'n gedeeltelike agteruitgang van die diens bedoel. Byvoorbeeld, die vermindering van die spoed van berekening van persoonlike aanbevelings ter wille van die aflaai van sommige databasisse en kommunikasiekanale. In normale modus word aanbevelings in intydse modus bereken, wat 'n weergawe van die aanlynwinkel vir elke besoeker skep, maar onder toestande van verhoogde vragte laat 'n afname in spoed ander kerndienste toe om voort te gaan werk.

Plan C: in geval van Armageddon. In die geval van 'n totale stelselfout, het ons 'n plan voorberei om ons veilig van kliënte te ontkoppel. Winkelkopers sal eenvoudig ophou om aanbevelings te sien, en die prestasie van die aanlynwinkel sal geensins skade ly nie. Om dit te doen, sal ons ons integrasielêer moet terugstel sodat nuwe gebruikers sal ophou om met die diens te kommunikeer. Dit wil sê, ons sal die werk van ons hoofnaspoorkode deaktiveer, die diens sal ophou om data in te samel en aanbevelings te bereken, en die gebruiker sal eenvoudig die bladsy sien sonder aanbevelingsblokke. Vir almal wat reeds die integrasielêer ontvang het, het ons die opsie gegee om die DNS-rekord na Amazon en die 200 OK-stub oor te skakel.

Resultate van

Ons het die hele vrag hanteer, selfs sonder om bykomende boumasjiene te gebruik. En danksy vooraf voorbereiding het ons nie enige van die ontwikkelde reaksieplanne nodig gehad nie. Maar al die werk wat gedoen is, is 'n onskatbare ervaring wat ons sal help om die mees onverwagte en groot toestromings van verkeer die hoof te bied.
Soos in 2017 het die las op die diens met 40% toegeneem, en die aantal gebruikers in aanlynwinkels het tydens Swart Vrydag met 60% toegeneem. Alle probleme en foute het tydens die voorbereidingsperiode voorgekom, wat ons en ons kliënte van onvoorsiene situasies gered het.

Hoe ervaar jy Swart Vrydag? Hoe berei jy voor vir kritieke werkladings?

Bron: will.com

Voeg 'n opmerking