Sut i wrthsefyll llwythi cynyddol ar y system: rydym yn siarad am baratoadau ar raddfa fawr ar gyfer Dydd Gwener Du

Hei Habr!

Yn 2017, yn ystod Dydd Gwener Du, cynyddodd y llwyth bron unwaith a hanner, ac roedd ein gweinyddwyr ar eu terfyn. Dros y flwyddyn, mae nifer y cleientiaid wedi cynyddu'n sylweddol, a daeth yn amlwg, heb baratoi rhagarweiniol gofalus, efallai na fydd y platfform yn gallu gwrthsefyll llwythi 2018.

Fe wnaethom osod y nod mwyaf uchelgeisiol posibl: roeddem am fod yn gwbl barod ar gyfer unrhyw ymchwyddiadau gweithgaredd, hyd yn oed y mwyaf pwerus, a dechreuwyd lansio galluoedd newydd ymlaen llaw trwy gydol y flwyddyn.

Ein CTO Andrey Chizh (chizh_andrey) yn dweud sut y gwnaethom baratoi ar gyfer Dydd Gwener Du 2018, pa fesurau a gymerwyd gennym i osgoi cwympo, ac, wrth gwrs, canlyniadau paratoi mor ofalus.

Sut i wrthsefyll llwythi cynyddol ar y system: rydym yn siarad am baratoadau ar raddfa fawr ar gyfer Dydd Gwener Du

Heddiw, rwyf am siarad am baratoadau ar gyfer Dydd Gwener Du 2018. Pam nawr, pan fydd y rhan fwyaf o'r gwerthiannau mawr y tu ôl i ni? Dechreuon ni baratoi tua blwyddyn cyn digwyddiadau ar raddfa fawr, a thrwy brofi a methu daethom o hyd i'r ateb gorau posibl. Rydym yn argymell eich bod yn gofalu am y tymhorau poeth ymlaen llaw ac yn atal sgamiau a allai ymddangos ar yr adeg fwyaf anaddas.
Bydd y deunydd yn ddefnyddiol i bawb sydd am wasgu'r elw mwyaf posibl o stociau o'r fath, oherwydd Nid yw ochr dechnegol y mater yn israddol i'r ochr farchnata yma.

Nodweddion traffig mewn arwerthiannau mawr

Yn groes i'r gred boblogaidd, nid dim ond un diwrnod y flwyddyn yw Dydd Gwener Du, ond bron i wythnos gyfan: mae'r cynigion disgownt cyntaf yn cyrraedd 7-8 diwrnod cyn y gwerthiant. Mae traffig gwefan yn dechrau tyfu'n llyfn trwy gydol yr wythnos, yn cyrraedd ei anterth ddydd Gwener ac yn gostwng yn eithaf sydyn ddydd Sadwrn i lefelau rheolaidd y siop.

Sut i wrthsefyll llwythi cynyddol ar y system: rydym yn siarad am baratoadau ar raddfa fawr ar gyfer Dydd Gwener Du

Mae hyn yn bwysig i'w ystyried: mae siopau ar-lein yn dod yn arbennig o sensitif i unrhyw “arafu” yn y system. Yn ogystal, gwelodd ein llinell cylchlythyr e-bost gynnydd sylweddol yn nifer y cyflwyniadau.

Mae'n strategol bwysig inni fynd trwy Ddydd Gwener Du heb ddamweiniau, oherwydd... Mae swyddogaeth bwysicaf gwefannau a chylchlythyrau siopau yn dibynnu ar weithrediad y platfform, sef:

  • Olrhain a chyhoeddi argymhellion cynnyrch,
  • Cyhoeddi deunyddiau cysylltiedig (er enghraifft, delweddau o ddyluniad blociau argymell, fel saethau, logos, eiconau ac elfennau gweledol eraill),
  • Darparu delweddau cynnyrch o'r maint gofynnol (at y dibenion hyn mae gennym "ImageResizer" - is-system sy'n lawrlwytho delwedd o weinydd y siop, yn ei gywasgu i'r maint gofynnol a, thrwy weinyddion caching, yn cynhyrchu delweddau o'r maint gofynnol ar gyfer pob cynnyrch yn pob bloc argymhelliad).

Mewn gwirionedd, yn ystod Dydd Gwener Du 2019, cynyddodd y llwyth ar y gwasanaeth 40%, h.y. mae nifer y digwyddiadau y mae'r system Retail Rocket yn eu tracio a'u prosesu ar safleoedd siopau ar-lein wedi cynyddu o 5 i 8 mil o geisiadau yr eiliad. Oherwydd ein bod yn paratoi ar gyfer llwythi mwy difrifol, fe wnaethom oroesi ymchwydd o'r fath yn hawdd.

Sut i wrthsefyll llwythi cynyddol ar y system: rydym yn siarad am baratoadau ar raddfa fawr ar gyfer Dydd Gwener Du

Hyfforddiant cyffredinol

Mae Dydd Gwener Du yn amser prysur i bob manwerthu ac e-fasnach yn arbennig. Mae nifer y defnyddwyr a'u gweithgaredd ar hyn o bryd yn cynyddu'n sylweddol, felly rydym ni, fel bob amser, wedi paratoi'n drylwyr ar gyfer yr amser prysur hwn. Gadewch i ni ychwanegu yma'r ffaith bod gennym lawer o siopau ar-lein wedi'u cysylltu nid yn unig yn Rwsia, ond hefyd yn Ewrop, lle mae'r cyffro yn llawer uwch, ac rydym yn cael lefel o angerdd yn waeth na chyfres Brasil. Beth sydd angen ei wneud i fod yn gwbl barod ar gyfer llwythi cynyddol?

Gweithio gyda gweinyddwyr

Yn gyntaf, roedd angen darganfod beth yn union yr oedd ei angen arnom i gynyddu pŵer gweinydd. Eisoes ym mis Awst, fe ddechreuon ni archebu gweinyddion newydd yn benodol ar gyfer Dydd Gwener Du - fe wnaethom ychwanegu cyfanswm o 10 peiriant ychwanegol. Erbyn mis Tachwedd roedden nhw'n ymladd yn llwyr.

Ar yr un pryd, cafodd rhai o'r peiriannau adeiladu eu hailosod i'w defnyddio fel gweinyddwyr Cais. Fe wnaethon ni eu paratoi ar unwaith i ddefnyddio gwahanol swyddogaethau: ar gyfer cyhoeddi argymhellion ac ar gyfer y gwasanaeth ImageResizer, fel, yn dibynnu ar y math o lwyth, y gellid defnyddio pob un ohonynt ar gyfer un o'r rolau hyn. Yn y modd arferol, mae gan weinyddion Cais a ImageResizer swyddogaethau sydd wedi'u diffinio'n glir: mae'r argymhellion cyhoeddi blaenorol, mae'r olaf yn cyflenwi delweddau ar gyfer llythyrau a blociau argymhellion ar wefannau siopa ar-lein. Wrth baratoi ar gyfer Dydd Gwener Du, penderfynwyd gwneud yr holl weinyddion pwrpas deuol er mwyn cydbwyso traffig rhyngddynt yn dibynnu ar y math o lawrlwytho.

Yna fe wnaethom ychwanegu dau weinydd mawr ar gyfer Kafka (Apache Kafka) a chael clwstwr o 5 peiriant pwerus. Yn anffodus, ni aeth popeth mor llyfn ag yr hoffem: yn ystod y broses cydamseru data, roedd dau beiriant newydd yn meddiannu lled cyfan y sianel rhwydwaith, a bu'n rhaid i ni ddarganfod ar frys sut i gyflawni'r broses ychwanegu yn gyflym ac yn ddiogel ar gyfer y seilwaith cyfan. I ddatrys y mater hwn, bu'n rhaid i'n gweinyddwyr aberthu eu penwythnosau yn ddewr.

Gweithio gyda data

Yn ogystal â gweinyddwyr, penderfynom optimeiddio ffeiliau i ysgafnhau'r llwyth a cham mawr i ni oedd cyfieithu ffeiliau statig. Symudwyd yr holl ffeiliau statig a oedd yn cael eu cynnal yn flaenorol ar weinyddion i S3 + Cloudfront. Rydym wedi bod eisiau gwneud hyn ers amser maith, gan fod y llwyth ar y gweinydd yn agos at y gwerthoedd terfyn, ac erbyn hyn mae cyfle gwych wedi codi.

Wythnos cyn Dydd Gwener Du, fe wnaethom gynyddu'r amser storio delweddau i 3 diwrnod, fel pe bai ImageResizer yn cwympo, byddai delweddau a storiwyd yn flaenorol yn cael eu hadalw o'r cdn. Roedd hefyd yn lleihau'r llwyth ar ein gweinyddion, oherwydd po hiraf y caiff y ddelwedd ei storio, y lleiaf aml y bydd angen i ni wario adnoddau ar newid maint.

Ac yn olaf ond nid lleiaf: 5 diwrnod cyn Dydd Gwener Du, cyhoeddwyd moratoriwm ar ddefnyddio unrhyw swyddogaethau newydd, yn ogystal ag ar unrhyw waith gyda'r seilwaith - mae'r holl sylw wedi'i anelu at ymdopi â llwythi cynyddol.

Cynlluniau ar gyfer ymateb i sefyllfaoedd anodd

Waeth pa mor uchel yw'r paratoad o ansawdd uchel, mae fakaps bob amser yn bosibl. Ac rydym wedi datblygu 3 chynllun ymateb ar gyfer sefyllfaoedd argyfyngus posibl:

  • lleihau llwyth,
  • anablu rhai gwasanaethau,
  • cau'r gwasanaeth yn llwyr.

Cynllun A: Lleihau llwyth. Dylai fod wedi'i actifadu pe bai ein gweinyddion, oherwydd ymchwydd mewn llwyth, wedi mynd y tu hwnt i'r amserau ymateb derbyniol. Yn yr achos hwn, rydym wedi paratoi mecanweithiau ar gyfer lleihau'r llwyth yn raddol trwy newid rhan o'r traffig i weinyddion Amazon, a fyddai'n ymateb yn syml i bob cais gyda "200 OK" ac yn rhoi ymateb gwag. Deallwn fod hyn yn ddirywiad yn ansawdd y gwasanaeth, ond mae'r dewis rhwng y ffaith nad yw'r gwasanaeth yn gweithio o gwbl neu ddim yn dangos argymhellion ar gyfer tua 10% o'r traffig yn amlwg.

Cynllun B: Gwasanaethau anabl. Goblygiad diraddio rhannol o'r gwasanaeth. Er enghraifft, lleihau cyflymder cyfrifo argymhellion personol er mwyn dadlwytho rhai cronfeydd data a sianeli cyfathrebu. Yn y modd arferol, cyfrifir argymhellion mewn amser real, gan greu fersiwn wahanol o'r siop ar-lein ar gyfer pob ymwelydd, ond o dan amodau llwyth cynyddol, mae lleihau'r cyflymder yn caniatáu i wasanaethau craidd eraill barhau i weithio.

Cynllun C: rhag ofn Armageddon. Os bydd system yn methu’n llwyr, rydym wedi paratoi cynllun a fydd yn caniatáu inni gael ein datgysylltu’n ddiogel oddi wrth ein cwsmeriaid. Bydd prynwyr siopau yn rhoi'r gorau i weld argymhellion; ni fydd perfformiad y siop ar-lein yn dioddef mewn unrhyw ffordd. I wneud hyn, byddai'n rhaid i ni ailosod ein ffeil integreiddio fel y byddai defnyddwyr newydd yn rhoi'r gorau i ryngweithio â'r gwasanaeth. Hynny yw, byddem yn analluogi ein prif god olrhain, byddai'r gwasanaeth yn rhoi'r gorau i gasglu data a chyfrifo argymhellion, a byddai'r defnyddiwr yn syml yn gweld tudalen heb flociau argymhelliad. I bawb sydd wedi derbyn ffeil integreiddio o'r blaen, rydym wedi darparu'r opsiwn o newid y cofnod DNS i Amazon a'r bonyn 200 OK.

Canlyniadau

Fe wnaethom drin y llwyth cyfan hyd yn oed heb yr angen i ddefnyddio peiriannau adeiladu ychwanegol. A diolch i baratoi ymlaen llaw, nid oedd angen unrhyw un o'r cynlluniau ymateb datblygedig arnom. Ond mae’r holl waith a wneir yn brofiad amhrisiadwy a fydd yn ein helpu i ymdopi â’r mewnlifiadau traffig mwyaf annisgwyl ac enfawr.
Fel yn 2017, cynyddodd y llwyth ar y gwasanaeth 40%, a chynyddodd nifer y defnyddwyr mewn siopau ar-lein 60% ar Ddydd Gwener Du. Digwyddodd yr holl anawsterau a chamgymeriadau yn ystod y cyfnod paratoi, a arbedodd ni a'n cleientiaid rhag sefyllfaoedd annisgwyl.

Sut ydych chi'n ymdopi â Dydd Gwener Du? Sut ydych chi'n paratoi ar gyfer llwythi critigol?

Ffynhonnell: hab.com

Ychwanegu sylw