Cumu sustene e carichi aumentati nantu à u sistema: parlemu di preparazione à grande scala per u Black Friday

Ehi Habr!

In 2017, durante u Black Friday, a carica aumentava quasi una volta è mezu, è i nostri servitori eranu à u so limitu. Nantu à l'annu, u numeru di i clienti hè cresciutu significativamente, è hè diventatu chjaru chì senza una preparazione preliminare attenta, a piattaforma pò solu ùn resiste micca i carichi di 2018.

Avemu stabilitu u scopu più ambiziosu pussibule: vulemu esse preparatu cumplettamente per qualsiasi, ancu i più putenti, surge di attività è hà cuminciatu à lancià novi capacità in anticipu in tuttu l'annu.

U nostru CTO Andrey Chizh (chizh_andrey) conta cumu avemu preparatu per u Black Friday 2018, ciò chì misuri avemu pigliatu per evità cascate, è, sicuru, i risultati di una preparazione cusì curretta.

Cumu sustene e carichi aumentati nantu à u sistema: parlemu di preparazione à grande scala per u Black Friday

Oghje vogliu parlà di preparazione per u Black Friday 2018. Perchè avà, quandu a maiò parte di e vendite maiò sò daretu à noi? Avemu cuminciatu à preparà circa un annu prima di l'avvenimenti à grande scala, è attraversu a prova è l'errore avemu trovu a suluzione ottima. Hè ricumandemu di piglià cura di e stagioni calde in anticipu è prevene i scams chì ponu spuntà in u mumentu più inopportunu.
U materiale serà utile à tutti quelli chì volenu sprimà u prufittu massimu da tali scorte, perchè U latu tecnicu di u prublema ùn hè micca inferitu à u latu di marketing quì.

Funzioni di u trafficu à grande vendita

Contrariamente à a credenza populari, u Black Friday ùn hè micca solu un ghjornu à l'annu, ma quasi una settimana sana: e prime offerte di scontu arrivanu 7-8 ghjorni prima di a vendita. U trafficu di u situ web accumincia à cresce in modu fluidu in tutta a settimana, righjunghji u so piccu u venneri è scende abbastanza bruscamente u sabbatu à i livelli regulari di a tenda.

Cumu sustene e carichi aumentati nantu à u sistema: parlemu di preparazione à grande scala per u Black Friday

Questu hè impurtante di cunsiderà: i buttreghi in linea diventanu particularmente sensibili à qualsiasi "rallentamenti" in u sistema. Inoltre, a nostra linea di newsletter per e-mail hà ancu sperimentatu un aumentu significativu in u numeru di sottumissioni.

Hè strategicamente impurtante per noi di passà u Black Friday senza crashes, perchè... A funziunalità più impurtante di i siti web è di e newsletters di a tenda dipende da u funziunamentu di a piattaforma, à dì:

  • Traccia è emette cunsiglii di prudutti,
  • Emissione di materiali cunnessi (per esempiu, imaghjini di u disignu di blocchi di ricunniscenza, cum'è frecce, loghi, icone è altri elementi visuali),
  • Fornisce l'imaghjini di u produttu di a dimensione necessaria (per questi scopi avemu "ImageResizer" - un sottosistema chì scarica una maghjina da u servitore di a tenda, a cumpressa à a dimensione necessaria è, attraversu i servitori di cache, pruduce l'imaghjini di a dimensione necessaria per ogni pruduttu in ogni bloccu di raccomandazione).

In fattu, durante u Black Friday 2019, a carica di u serviziu hà aumentatu da 40%, i.e. u numeru di avvenimenti chì u sistema di Retail Rocket traccia è processa nantu à i siti di a tenda in linea hè aumentatu da 5 à 8 mila richieste per seconda. A causa di u fattu chì avemu preparatu per carichi più serii, avemu sopravvissutu à una tale crescita facilmente.

Cumu sustene e carichi aumentati nantu à u sistema: parlemu di preparazione à grande scala per u Black Friday

Formazione generale

U Black Friday hè un tempu occupatu per tutti i retail è e-commerce in particulare. U numaru d'utilizatori è a so attività in questu tempu hè crescente significativamente, cusì avemu, cum'è sempre, preparatu bè per questu tempu occupatu. Aghjunghjite quì u fattu chì avemu parechje magazzini in linea cunnessi micca solu in Russia, ma ancu in Europa, induve l'eccitazione hè assai più altu, è avemu un livellu di passione peghju chì a serie brasiliana. Chì ci vole à fà per esse cumplettamente preparatu per carichi aumentati?

U travagliu cù i servitori

Prima, era necessariu di sapè ciò chì esattamente avemu bisognu per aumentà a putenza di u servitore. Dighjà in Aostu, avemu cuminciatu à urdinà novi servitori specificamente per u Black Friday - in totale avemu aghjustatu 10 macchine supplementari. À nuvembre eranu cumplettamente in cumbattimentu.

À u listessu tempu, alcune di e macchine di custruzzione sò state reinstallate per l'utilizazione cum'è servitori di applicazioni. L'avemu preparatu subitu per aduprà diverse funzioni: sia per emette cunsiglii sia per u serviziu ImageResizer, cusì chì, secondu u tipu di carica, ognuna di elle puderia esse usata per unu di sti roli. In u modu normale, i servitori di l'Applicazione è ImageResizer anu funzioni chjaramente definite: l'antichi cunsiglii di emissione, l'ultimi furnisce l'imaghjini per e lettere è i blocchi di ricunniscenza in i siti di shopping online. In a preparazione per u Black Friday, hè statu decisu di fà tutti i servitori dual-purpose per equilibrà u trafficu trà elli secondu u tipu di scaricamentu.

Allora aghjunghjemu dui servitori grandi per Kafka (Apache Kafka) è avemu un cluster di 5 macchine putenti. Sfurtunatamente, tuttu ùn hè micca andatu bè cum'è no vuleriamu: durante u prucessu di sincronizazione di dati, duie macchine novi occupanu tutta a larghezza di u canali di a rete, è avemu avutu urgente à capisce cumu fà u prucessu di aghjunghje rapidamente è in modu sicuru. tutta l'infrastruttura. Per risolve stu prublema, i nostri amministratori avianu a sacrificà valentemente i so weekend.

U travagliu cù dati

In più di i servitori, avemu decisu di ottimisà i fugliali per alleggerà a carica è un grande passu per noi era a traduzzione di schedarii statici. Tutti i fugliali statichi chì eranu prima allughjati nantu à i servitori sò stati spustati in S3 + Cloudfront. Avemu vulutu fà questu per un bellu pezzu, postu chì a carica nantu à u servitore era vicinu à i valori limite, è avà hè stata una grande opportunità.

Una settimana prima di u Black Friday, avemu aumentatu u tempu di cache di l'imaghjini à 3 ghjorni, cusì chì se ImageResizer falle, l'imaghjini in cache precedente seranu recuperati da u cdn. Hè ancu ridutta a carica nantu à i nostri servitori, postu chì u più longu l'imaghjini hè guardatu, u menu spessu avemu bisognu di gastru risorse per ridimensionà.

È l'ultimu, ma micca menu: 5 ghjorni prima di u Black Friday, una moratoria hè stata annunziata nantu à a implementazione di ogni nova funziunalità, è ancu in ogni travagliu cù l'infrastruttura - tutta l'attenzione hè diretta à affruntà i carichi aumentati.

Piani per risponde à situazioni difficili

Ùn importa micca quantu d'alta qualità hè a preparazione, i fakaps sò sempre pussibuli. È avemu sviluppatu 3 piani di risposta per e pussibuli situazioni critiche:

  • riduzzione di carica,
  • disattivà certi servizii,
  • arrestu cumpletu di u serviziu.

Pianu A: Reduce a carica. Duverebbe esse attivatu se, per via di una crescita di carica, i nostri servitori andavanu oltre i tempi di risposta accettabili. In questu casu, avemu preparatu miccanismi per riduce gradualmente a carica cambiendu parte di u trafficu à i servitori Amazon, chì solu risponde à tutte e dumande cù "200 OK" è dà una risposta vacante. Avemu capitu chì questu era una degradazione di a qualità di u serviziu, ma l'scelta trà u fattu chì u serviziu ùn funziona micca o ùn mostra micca cunsiglii per circa 10% di u trafficu hè evidenti.

Pianu B: Disattivà i servizii. Degradazione parziale implicita di u serviziu. Per esempiu, riducendu a vitezza di calculà i cunsiglii persunali per scaricà alcune basa di dati è canali di cumunicazione. In u modu normale, i cunsiglii sò calculati in tempu reale, creendu una versione sfarente di a tenda in linea per ogni visitatore, ma in cundizioni di carica aumentata, riducendu a velocità permette à l'altri servizii di core per cuntinuà à travaglià.

Pianu C: in casu di Armageddon. Se si verifica un fallimentu cumpletu di u sistema, avemu preparatu un pianu chì ci permetterà di esse disconnected safely da i nostri clienti. I cumpratori di a tenda smetteranu di vede cunsiglii; u rendiment di a tenda in linea ùn soffrerà in alcun modu. Per fà questu, duvemu resettate u nostru schedariu d'integrazione in modu chì i novi utilizatori smettenu di interagisce cù u serviziu. Vale à dì, disattivemu u nostru codice di seguimentu principale, u serviziu smetta di cullà e dati è di calculà i cunsiglii, è l'utilizatore puderia vede solu una pagina senza blocchi di raccomandazione. Per tutti quelli chì anu ricivutu prima un schedariu d'integrazione, avemu furnitu l'opzione di cambià u record DNS à Amazon è u stub 200 OK.

Risultati

Avemu trattatu tutta a carica ancu senza a necessità di utilizà macchine di custruzzione supplementari. È grazia à a preparazione anticipata, ùn avemu micca bisognu di i piani di risposta sviluppati. Ma tuttu u travagliu fattu hè una sperienza inestimabile chì ci aiuterà à affruntà i più inaspettati è enormi afflussi di trafficu.
Cum'è in 2017, a carica di u serviziu hà aumentatu da 40%, è u numeru di utilizatori in i magazzini in linea hà aumentatu da 60% u Black Friday. Tutte e difficultà è i sbagli sò accaduti durante u periodu preparatoriu, chì hà salvatu noi è i nostri clienti da situazioni impreviste.

Cumu affrontate u Black Friday ? Cumu preparate per carichi critichi?

Source: www.habr.com

Add a comment