Wéi verstäerkte Lasten op de System ze widderstoen: mir schwätzen iwwer grouss Virbereedunge fir Black Friday

Hey Habr!

Am Joer 2017, während Black Friday, ass d'Laascht ëm bal annerhallef Mol eropgaang, an eis Server waren op hirer Limit. Am Laf vum Joer ass d'Zuel vun de Clienten wesentlech gewuess, an et gouf kloer datt ouni virsiichteg virleefeg Virbereedung d'Plattform einfach net d'Laascht vun 2018 widderstoen.

Mir hunn dat ambitiéisst Zil gesat: mir wollte voll virbereet sinn op all, och déi mächtegst Aktivitéiten, an hunn ugefaang nei Kapazitéiten am Viraus am ganze Joer ze lancéieren.

Eis CTO Andrey Chizh (chizh_andrey) erzielt wéi mir eis op Black Friday 2018 virbereet hunn, wéi eng Moossname mir geholl hunn fir Falen ze vermeiden, an natierlech d'Resultater vun esou virsiichteg Virbereedung.

Wéi verstäerkte Lasten op de System ze widderstoen: mir schwätzen iwwer grouss Virbereedunge fir Black Friday

Haut wëll ech iwwer Virbereedunge fir Black Friday schwätzen 2018. Firwat elo, wann déi meescht vun de grousse Verkaf hannert eis sinn? Mir hunn ugefaang ongeféier engem Joer virum groussen Eventer virzebereeden, an duerch Versuch a Feeler hu mir déi optimal Léisung fonnt. Mir recommandéieren Iech am Viraus ëm déi waarm Joreszäiten ze këmmeren an Scams ze vermeiden déi am meeschte onopportune Moment opdauchen.
D'Material wäert fir jiddereen nëtzlech sinn, deen de Maximum Gewënn aus esou Aktien ze pressen wëllt, well Déi technesch Säit vum Thema ass net méi schlecht wéi d'Marketing Säit hei.

Fonctiounen vun Verkéier um grousse Ofsaz

Am Géigesaz zum populäre Glawen ass Black Friday net nëmmen een Dag am Joer, mee bal eng ganz Woch: déi éischt Remise Offeren kommen 7-8 Deeg virum Verkaf. Websäit Traffic fänkt reegelméisseg duerch d'Woch ze wuessen, erreecht säin Héichpunkt um Freideg a fällt e Samschdeg zimlech schaarf op déi regulär Niveauen vum Geschäft.

Wéi verstäerkte Lasten op de System ze widderstoen: mir schwätzen iwwer grouss Virbereedunge fir Black Friday

Dëst ass wichteg ze berücksichtegen: Online Geschäfter ginn besonnesch sensibel fir all "Slowdowns" am System. Zousätzlech huet eis E-Mail Newsletter Linn och eng bedeitend Erhéijung vun der Zuel vun de Soumissioun erlieft.

Et ass strategesch wichteg fir eis duerch de Black Friday ouni Crashen ze goen, well ... Déi wichtegst Funktionalitéit vu Websäiten a Store Newsletter hänkt vun der Operatioun vun der Plattform of, nämlech:

  • Tracking an erausginn Produkt Empfehlungen,
  • Emissioun vu verwandte Materialien (zum Beispill Biller vum Design vun Empfehlungsblocken, wéi Pfeile, Logoen, Ikonen an aner visuell Elementer),
  • Produktbilder vun der erfuerderter Gréisst ubidden (fir dës Zwecker hu mir "ImageResizer" - e Subsystem deen e Bild vum Store Server erofluet, et op déi erfuerderlech Gréisst kompriméiert an duerch Cache-Server Biller vun der erfuerderter Gréisst fir all Produkt produzéiert all Empfehlungsblock).

Tatsächlech, während Black Friday 2019, ass d'Laascht op de Service ëm 40% eropgaang, d.h. d'Zuel vun den Eventer déi de Retail Rocket System verfollegt a veraarbecht op Online Store Site ass vu 5 op 8 Tausend Ufroe pro Sekonn eropgaang. Wéinst der Tatsaach, datt mir eis op méi schlëmm Belaaschtunge virbereet hunn, hu mir esou en Iwwerschwemmung einfach iwwerlieft.

Wéi verstäerkte Lasten op de System ze widderstoen: mir schwätzen iwwer grouss Virbereedunge fir Black Friday

Allgemeng Formatioun

Black Friday ass eng beschäftegt Zäit fir all Retail an E-Commerce besonnesch. D'Zuel vun de Benotzer an hir Aktivitéiten zu dësem Zäitpunkt wiisst staark, dofir hu mir, wéi ëmmer, grëndlech op dës beschäftegt Zäit virbereet. Loosst eis hei d'Tatsaach addéieren datt mir vill Online Geschäfter verbonne sinn net nëmmen a Russland, awer och an Europa, wou d'Opreegung vill méi héich ass, a mir kréien en Niveau vun der Leidenschaft méi schlëmm wéi déi brasilianesch Serie. Wat muss gemaach ginn fir voll op erhéicht Lasten virbereet ze sinn?

Schafft mat Serveren

Als éischt war et néideg erauszefannen wat mir genau brauche fir d'Servermuecht ze erhéijen. Schonn am August hu mir ugefaang nei Serveren speziell fir Black Friday ze bestellen - am Ganzen hu mir 10 zousätzlech Maschinnen bäigefüügt. Bis November ware si voll am Kampf.

Zur selwechter Zäit goufen e puer vun de Baumaschinne nei installéiert fir als Applikatiounsserver ze benotzen. Mir hunn se direkt virbereet fir verschidde Funktiounen ze benotzen: souwuel fir Empfehlungen wéi och fir den ImageResizer Service, sou datt, ofhängeg vun der Aart vun der Belaaschtung, jidderee fir eng vun dëse Rollen benotzt ka ginn. Am normalen Modus hunn d'Applikatiouns- an ImageResizer-Server kloer definéiert Funktiounen: déi fréier Emissioun Empfehlungen, déi lescht liwweren Biller fir Bréiwer a Empfehlungsblocken op Online Shopping Websäiten. Als Virbereedung fir Black Friday gouf decidéiert all Dual-purpose Serveren ze maachen fir de Traffic tëscht hinnen ofhängeg vun der Aart vum Download ze balanséieren.

Duerno hu mir zwee grouss Serveren fir Kafka (Apache Kafka) bäigefüügt a krut e Stärekoup vu 5 mächtege Maschinnen. Leider ass alles net esou glat gaang wéi mir wëllen: während dem Datesynchroniséierungsprozess hunn zwee nei Maschinnen déi ganz Breet vum Netzwierkkanal besat, a mir hunn dréngend missen erausfannen, wéi een den Zousatzprozess séier a sécher ausféiert. ganz Infrastruktur. Fir dëst Thema ze léisen, hunn eis Administrateuren hir Weekender couragéiert missen opferen.

Schafft mat Daten

Zousätzlech zu Serveren hu mir décidéiert fir Dateien ze optimiséieren fir d'Laascht ze erliichteren an e grousse Schrëtt fir eis war d'Iwwersetzung vu statesche Dateien. All statesch Dateien, déi virdru op Server gehost goufen, goufen op S3 + Cloudfront geplënnert. Mir wollten dat scho laang maachen, well d'Laascht op de Server no bei de Limitwäerter war, an elo ass eng grouss Chance entstanen.

Eng Woch virum Black Friday hu mir d'Bildcachingzäit op 3 Deeg erhéicht, sou datt wann ImageResizer erofgefall ass, virdrun cachéiert Biller aus der CDn zréckgezunn ginn. Et huet och d'Laascht op eise Server reduzéiert, well wat méi laang d'Bild gespäichert ass, dest manner dacks brauche mir Ressourcen fir d'Gréisst ze änneren.

A leschter awer net zulescht: 5 Deeg virum Black Friday gouf e Moratorium ugekënnegt fir den Asaz vun all neier Funktionalitéit, wéi och op all Aarbecht mat der Infrastruktur - all Opmierksamkeet riicht sech mat verstäerkte Lasten ze këmmeren.

Pläng fir op schwiereg Situatiounen ze reagéieren

Egal wéi héich Qualitéit d'Virbereedung ass, Fakaps sinn ëmmer méiglech. A mir hunn 3 Äntwertspläng fir méiglech kritesch Situatiounen entwéckelt:

  • Lastreduktioun,
  • e puer Servicer auszeschalten,
  • komplette Shutdown vum Service.

Plang A: Belaaschtung reduzéieren. Sollt aktivéiert ginn, wann, wéinst engem Stroum an der Belaaschtung, eis Serveren iwwer akzeptabel Äntwertzäiten erausgaange sinn. An dësem Fall hu mir Mechanismen virbereet fir d'Belaaschtung graduell ze reduzéieren andeems en Deel vum Traffic op Amazon Server wiesselt, déi einfach op all Ufroe mat "200 OK" reagéieren an eng eidel Äntwert ginn. Mir hunn verstanen datt dëst eng Degradatioun vun der Qualitéit vum Service war, awer de Choix tëscht der Tatsaach datt de Service guer net funktionnéiert oder keng Empfehlungen fir ongeféier 10% vum Traffic weist ass evident.

Plang B: Servicer auszeschalten. Implizit partiell Degradatioun vum Service. Zum Beispill d'Reduktioun vun der Geschwindegkeet vun der Berechnung vu perséinleche Empfehlungen fir e puer Datenbanken a Kommunikatiounskanäl ze entlaaschten. Am normalen Modus ginn Empfehlungen an Echtzäit berechent, eng aner Versioun vum Online-Geschäft fir all Besucher erstallt, awer ënner Bedingunge vu verstäerkter Belaaschtung, d'Reduktioun vun der Geschwindegkeet erlaabt aner Kärservicer weider ze schaffen.

Plang C: am Fall vun Armageddon. Wann e komplette Systemfehler geschitt ass, hu mir e Plang virbereet, deen et erlaabt eis sécher vun eise Clienten ze trennen. Store Keefer stoppen einfach Empfehlungen ze gesinn; d'Leeschtung vum Online Store wäert op kee Fall leiden. Fir dëst ze maachen, musse mir eis Integratiounsdatei zrécksetzen, sou datt nei Benotzer ophalen mam Service interagéieren. Dat ass, mir wäerten eisen Haapt Tracking Code auszeschalten, de Service géif ophalen Daten ze sammelen an Empfehlungen ze berechnen, an de Benotzer géif einfach eng Säit ouni Empfehlungsblocken gesinn. Fir all déi, déi virdru eng Integratiounsdatei kritt hunn, hu mir d'Optioun zur Verfügung gestallt fir den DNS-Rekord op Amazon an den 200 OK Stubb ze wiesselen.

Resultater

Mir hunn d'ganz Laascht gehandhabt och ouni de Besoin fir zousätzlech Baumaschinnen ze benotzen. An dank der Virauspreparatioun hu mir keng vun den entwéckelte Reaktiounspläng gebraucht. Awer all d'Aarbecht gemaach ass wäertvoll Erfarung, déi eis hëllefe mat den onerwaarten an enormsten Trafficstroum eens ze maachen.
Wéi am Joer 2017 ass d'Laascht op de Service ëm 40% eropgaang, an d'Zuel vun de Benotzer an de Online-Geschäfter ass um Black Friday ëm 60% eropgaang. All Schwieregkeeten a Feeler sinn während der Virbereedungsperiod geschitt, déi eis an eise Clienten aus onerwaarte Situatiounen gerett hunn.

Wéi këmmert Dir Iech mam Black Friday? Wéi preparéiert Dir Iech op kritesch Lasten?

Source: will.com

Setzt e Commentaire