Nola jasan sistemaren karga handitzea: Black Fridayrako eskala handiko prestaketei buruz hitz egiten dugu

Aupa Habr!

2017an, Black Friday-n, karga ia bider eta erdi handitu zen, eta gure zerbitzariak mugan zeuden. Urtean zehar, bezeroen kopurua nabarmen hazi da, eta argi geratu zen aldez aurretiko prestaketa kontu handirik gabe, baliteke plataformak 2018ko kargari eustea ez duela.

Ahalik eta anbiziotsuena jarri genuen: edozein jarduera gorakadarako, baita indartsuenetarako ere, guztiz prestatuta egon nahi genuen eta urte osoan zehar gaitasun berriak aldez aurretik jartzen hasi ginen.

Gure CTO Andrey Chizh (txizh_andrey) 2018ko Ostiral Beltzarako nola prestatu genuen, erorketak saihesteko zer neurri hartu genituen eta, jakina, hain prestaketa zainduaren emaitzak.

Nola jasan sistemaren karga handitzea: Black Fridayrako eskala handiko prestaketei buruz hitz egiten dugu

Gaur Black Friday 2018rako prestaketei buruz hitz egin nahi dut. Zergatik orain, salmenta nagusi gehienak atzean geratzen direnean? Eskala handiko ekitaldiak baino urtebete lehenago hasi ginen prestatzen, eta saiakeraren bidez irtenbide egokiena aurkitu genuen. Denboraldi beroak aldez aurretik zaintzea gomendatzen dugu eta unerik desegokienean agertu daitezkeen iruzurrak saihestea.
Materiala erabilgarria izango da horrelako izakinetatik etekin handiena atera nahi duten guztientzat, zeren Gaiaren alde teknikoa ez da hemen marketinaren alde baino txikiagoa.

Salmenta handietan trafikoaren ezaugarriak

Uste denaren aurka, Black Friday ez da urteko egun bakarra, ia aste osoa baizik: lehen deskontu eskaintzak salmenta baino 7-8 egun lehenago iristen dira. Webguneko trafikoa astean zehar leunki hazten hasten da, ostiralean gorenera iristen da eta larunbatean nahiko nabarmen jaisten da dendaren ohiko mailara.

Nola jasan sistemaren karga handitzea: Black Fridayrako eskala handiko prestaketei buruz hitz egiten dugu

Hau kontuan hartu behar da: lineako dendak bereziki sentikorrak dira sistemaren edozein "moteltze" aurrean. Horrez gain, gure posta elektronikoko buletin-lerroak bidalketen kopuruan gorakada nabarmena izan zuen.

Guretzat estrategikoki garrantzitsua da Black Friday-a istripurik gabe pasatzea, zeren... Webguneen eta denden buletinen funtzionalitate garrantzitsuena plataformaren funtzionamenduaren araberakoa da, hau da:

  • Produktuen gomendioak jarraitzea eta ematea,
  • Erlazionatutako materialak igortzea (adibidez, gomendio-blokeen diseinuaren irudiak, hala nola geziak, logotipoak, ikonoak eta beste elementu bisual batzuk),
  • Beharrezko tamainako produktuen irudiak ematea (horretarako "ImageResizer" dugu: irudi bat dendako zerbitzaritik deskargatzen duen azpisistema bat, behar den tamainara konprimitzen du eta, cacheko zerbitzarien bidez, produktu bakoitzerako beharrezko tamainako irudiak sortzen ditu. gomendio-bloke bakoitza).

Izan ere, 2019ko Black Friday-n, zerbitzuaren karga %40 handitu zen, hau da. Txikizkako Rocket sistemak lineako dendako guneetan jarraitzen eta prozesatzen dituen gertaeren kopurua segundoko 5 mila eskaera izatetik 8ra ​​igo da. Karga larriagoetarako prestatzen ari ginela eta, halako gorakada bati erraz atera genion.

Nola jasan sistemaren karga handitzea: Black Fridayrako eskala handiko prestaketei buruz hitz egiten dugu

Prestakuntza orokorra

Ostiral Beltza denbora lanpetua da txikizkako eta merkataritza elektroniko guztientzat bereziki. Erabiltzaile-kopurua eta haien jarduera une honetan nabarmen hazten ari da, beraz, beti bezala, oso ondo prestatu dugu denbora lanpetu honetarako. Gehitu dezagun hemen lineako denda asko konektatuta ditugula Errusian ez ezik, Europan ere, non ilusioa askoz handiagoa den, eta Brasilgo serieak baino grina maila okerragoa lortzen dugula. Zer egin behar da karga handietarako guztiz prestatuta egoteko?

Zerbitzariekin lan egitea

Lehenik eta behin, zerbitzariaren potentzia handitzeko zer behar genuen jakin behar zen. Dagoeneko abuztuan, Black Fridayrako bereziki zerbitzari berriak eskatzen hasi ginen; guztira 10 makina gehiago gehitu genituen. Azarorako guztiz borrokan zeuden.

Aldi berean, eraikitzeko makina batzuk berriro instalatu ziren Aplikazio zerbitzari gisa erabiltzeko. Berehala prestatu genituen funtzio desberdinak erabiltzeko: bai gomendioak emateko, bai ImageResizer zerbitzurako, karga motaren arabera, horietako bakoitza rol horietako baterako erabil zedin. Modu arruntean, Aplikazio eta ImageResizer zerbitzariek argi eta garbi definitutako funtzioak dituzte: lehenak gomendioak jaulkitzen dituzte, bigarrenak gutunetarako irudiak eta gomendio blokeak eskaintzen dituzte lineako erosketa webguneetan. Black Fridayrako prestatzeko, helburu bikoitzeko zerbitzari guztiak egitea erabaki zen, deskarga motaren arabera haien arteko trafikoa orekatzeko.

Ondoren, Kafkarako bi zerbitzari handi gehitu genituen (Apache Kafka) eta 5 makina indartsuen multzoa lortu genuen. Zoritxarrez, dena ez zen nahi bezain ondo joan: datuak sinkronizatzeko prozesuan, bi makina berriek sare-kanalaren zabalera osoa okupatu zuten, eta premiazkoa izan behar genuen gehitzeko prozesua nola egin azkar eta seguru. azpiegitura osoa. Arazo hau konpontzeko, gure administratzaileek ausardiaz sakrifikatu behar izan zituzten asteburuak.

Datuekin lan egitea

Zerbitzariez gain, fitxategiak optimizatzea erabaki genuen karga arintzeko eta guretzat urrats handi bat fitxategi estatikoen itzulpena izan zen. Aurretik zerbitzarietan ostatatutako fitxategi estatiko guztiak S3 + Cloudfront-era eraman ziren. Aspalditik geneukan hori egin nahi, zerbitzariaren karga muga-balioetatik gertu zegoenez, eta orain aukera paregabea sortu da.

Ostiral Beltza baino astebete lehenago, irudien cachean gordetzeko denbora 3 egunera handitu genuen, eta, beraz, ImageResizer-ek huts egingo balu, aurretik gordetako irudiak cdn-tik berreskuratuko lirateke. Gure zerbitzarien karga ere murriztu du, izan ere, zenbat eta denbora luzeagoan gorde irudia, orduan eta gutxiago gastatu behar ditugu baliabideak tamaina aldatzeko.

Eta azkenik: Black Friday baino 5 egun lehenago, moratoria bat iragarri zen funtzionaltasun berrien hedapenari buruz, baita azpiegituraren edozein lanetan ere - arreta guztia zama handitzeari aurre egiteko dago zuzenduta.

Egoera zailei erantzuteko planak

Prestaketa kalitate handikoa izan arren, fakaps beti posible da. Eta 3 erantzun-plan garatu ditugu egoera kritiko posibleetarako:

  • karga murriztea,
  • zerbitzu batzuk desgaituz,
  • zerbitzua erabat ixtea.

A plana: karga murriztea. Aktibatu beharko litzateke, kargaren gorakadaren ondorioz, gure zerbitzariak erantzun-denbora onargarrietatik haratago joan badira. Kasu honetan, karga pixkanaka murrizteko mekanismoak prestatu ditugu, trafikoaren zati bat Amazon zerbitzarietara aldatuz, eskaera guztiei "200 OK"-rekin erantzun eta erantzun hutsa emango luketenak. Zerbitzuaren kalitatearen degradazioa zela ulertu genuen, baina zerbitzuak batere funtzionatzea edo trafikoaren % 10 gutxi gorabehera gomendioak ez izatearen arteko hautua nabaria da.

B plana: zerbitzuak desgaitu. Zerbitzuaren degradazio partziala inplizitua. Adibidez, gomendio pertsonalak kalkulatzeko abiadura murriztea datu-base eta komunikazio kanal batzuk deskargatzeko. Modu arruntean, gomendioak denbora errealean kalkulatzen dira, bisitari bakoitzarentzat lineako dendaren bertsio ezberdin bat sortuz, baina karga handitzeko baldintzetan, abiadura murrizteak beste zerbitzu nagusi batzuk lanean jarraitzea ahalbidetzen du.

C plana: Armagedonen kasuan. Sistemaren hutsegite osoa gertatzen bada, gure bezeroengandik segurtasunez deskonektatzeko aukera emango duen plan bat prestatu dugu. Dendako erosleek gomendioak ikusteari utziko diote; lineako dendaren errendimendua ez da inola ere kaltetuko. Horretarako, gure integrazio-fitxategia berrezarri beharko genuke, erabiltzaile berriek zerbitzuarekin interakzioari utz diezaioten. Hau da, gure jarraipen-kode nagusia desgaituko genuke, zerbitzuak datuak biltzeari eta gomendioak kalkulatzeari utziko lioke eta erabiltzaileak gomendio blokerik gabeko orrialde bat ikusiko luke besterik gabe. Aurretik integrazio fitxategi bat jaso duten guztientzat, DNS erregistroa Amazonera eta 200 OK zirriborroa aldatzeko aukera eman dugu.

Emaitzak

Karga osoa kudeatu dugu, nahiz eta eraikuntza-makina osagarriak erabili behar izan gabe. Eta aldez aurretiko prestaketari esker, ez genuen garatutako erantzun-planetako bat ere behar. Baina egindako lan guztia esperientzia eskerga da, ustekabeko eta izugarrizko trafiko-fluxuei aurre egiten lagunduko diguna.
2017an bezala, zerbitzuaren karga %40 handitu zen, eta online dendetako erabiltzaile kopurua %60 igo zen Black Friday-n. Zailtasun eta akats guztiak prestaketa-aldian gertatu ziren, eta horrek ezusteko egoeretatik salbatu gintuen gu eta gure bezeroak.

Nola daramazu Black Friday-a? Nola prestatzen zara karga kritikoetarako?

Iturria: www.habr.com

Gehitu iruzkin berria