Arakesmesiz depla we oýun täzelenmeleri nähili işleýär
Näme üçin kazinoda zero-downtime goýberilýär?
iGaming-de islendik "mikropauza" ýitirilen nyrhlar, sessiýalar we ynam. Täzelenmeler oýunçy üçin duýulman amala aşyrylmalydyr: nyrhlar kabul edilmegini dowam etdirýär, akym ýyrtylmaýar, gapjyk we legger tutuşlygyna galýar we metrikler bökmeýär. Açar - wersiýalaryň düzgüni, şertnamalaryň laýyklygy we ädimme-ädim, syn edilýän hasaplamalar.
Esasy ýörelgeler
1. Öňe/yza gabat gelýär. Täze wersiýalar köne wakalara/meýdanlara düşünmeli, köne müşderiler bolsa täzelerini howpsuz äsgermezlik etmeli.
2. Immutable assets. Statika we oýun serişdeleri heş-atlar bilen berilýär; faýllary "täzeden ýazmak" ýok.
3. Ýazmak/okamak ýoluny bölmek. Pul amallary (hold/settle) izolirlenen we atomarlardyr, UI/assets özbaşdak üýtgeýär.
4. Kontrakt hökmünde syn edilmegi. Traýsingsiz/metriksiz goýbermek - gadaganlyk.
5. Yza gaýdyp gelmek goýberilişi ýaly kadadyr. Taýýar şekiller, "iki tarapa" göçmek, el şaman bolmazdan rollback düwmesi.
Zero-downtime arhitekturasy iş ýüzünde
1) Wersiýalar we şertnamalar
SemVer: 'MAJOR. MINOR. PATCH ', her habardaky' eventVer/contractVer 'meýdany.
DB shemalary üçin Expand → Migrate → Contract: Ilki bilen meýdanlary/indeksleri (expand), soň bolsa yzky göçmegi (migrate) goşýarys we diňe legasy (contract) öçürýäris.
Möhüm logikanyň üýtgemeginde Dual-write/Dual-read (mysal üçin, bonus hasaplamasy): köne we täze tablisalara ýazýarys, deňeşdirýäris.
2) Assetalar we CDN
Bandllar/spraytlar/tekstler: 'app. a1b2c3. js`, `paytable. 98f0. png ', sözbaşylar:
Cache-Control: public, max-age=31536000, immutable
Serwerde/CDN-de assets manifesti. Baglanyşygy täze manifeste geçirýäris - oýunçylar derrew täze UI alýarlar, köne sahypalar öňki faýllar bilen ýaşamagyny dowam etdirýärler (döwülen baglanyşyksyz).
Tag-purge ýygy-ýygydan üýtgeýän JSON üçin (kataloglar/bannerler) + 'stale-while-revalidate' ýumşak çalşyk üçin.
3) Traffik strategiýalary
Möhüm komponentler üçin "Blue-Green" (gapjyk/ledger/bridge): iki sany birmeňzeş gurşawy saklaýarys, sekuntda ingress/wirtual hyzmaty geçirýäris.
API/oýun şlýuzlary üçin Kanary: 1-5% traffik → SLO/fin-delta derňewi → 100% -e çenli giňeldýäris.
UI we mehanik üçin Feature flags: kod çykarylmazdan segment, sebit ýa-da oýun üçin goşulýar.
4) Göni oýunlar we RNG
Live (WebRTC/LL-HLS):- Pleer/overlei wideo akymyndan aýratyn üýtgedýäris (dürli domenler/konfigler).
- Wagt sinhronizatory (server time) we täze signala "ýumşak" geçiş.
- Oýnuň täze ýygyndysy çeşmäniň täze görnüşi hökmünde berilýär. Eýýäm tapgyra başlan oýunçylar ony köne müşderi/düzgünler boýunça tamamlaýarlar.
- В `round. settled 'Biz' calcVer '- jedelli tapgyrlaryň "öňküsi ýaly" oýnalmagy üçin hasaplaýyş hereketlendirijisiniň wersiýasy.
5) Gapjyk we legger - puly nädip bozmaly däl
Bir ýazyjy. Ýazyjyny üýtgetmek aýratyn prosedura (gulplama bilen) we diňe AZ/sebitiň içinde.
Ähli ýollarda idempotentlik: 'bet. place`, `round. settle`, `payout. request`, `cashier. webhook` — с `idempotencyKey`.
PITR we şadow-barlaglar: kanar hasaplamasy wagtynda simleri "kölege" goşýarys, mahabatlandyrylmazdan ozal agregatlary (GGR/NGR) barlaýarys.
Duralgasyz ädimme-ädim çykmak (salgylanma ssenarisi)
1. Taýýarlyk:- Çykyş şertnamasy: 'PATCH/MINOR/MAJOR', laýyklyk matrisi.
- 'expand' göçmeleri öňünden ulanyldy, indeks-bild - onlaýn.
- Assets CDN-e ýüklendi, manifest taýýar.
- 1-5% traffik. p95/99 'bet. place ',' settle ',' error _ rate ',' VOID 'ösüşi, tölegleriň deňsizligi.
- Maliýe gözegçilik topary bilen deňeşdirmesi (delta <çäk).
- Göterimi 25/50/100 çenli ýokarlandyrýarys ýa-da pul özeninde "Blue-Green" -e geçýäris.
- Fiçleri baýdaklar bilen goşýarys (lokallar/oýunlar/sebitler).
- Fon joblary maglumatlary/ösüşleri geçirýärler, dual-write goşulýar.
- Telemetriýa metrleriň gabat gelmegini tassyklaýar.
- Legasi-okamagy öçürýäris, indiki MINOR/MAJOR-da "kölegeleri" aýyrýarys.
- Shemalaryň/wakalaryň kataloglaryny täzeleýäris, deprekeýti ýapýarys.
- Post-mortem/retro, hatda hadysasyz: SLO, alertlerde, çek sanawlarynda näme gowulaşmaly.
Çykarylanda synlamak we SLO
SLI/SLO:- `bet. place p95 '(maksat ≤ 150-250 ms),' error _ rate '(<0. 3%), `round. settle p95` (≤2 с), `payout. submit p95 '(≤ 800 ms).
- Live QoS: `webrtc_rtt_ms`, `dropped_frames`, `aborted_rounds`.
- Wersiýa bellikleri: 'buildId', 'semver', 'contractVer', 'calcVer'.
- Fin deltasy: köne/täze şahanyň segmentleri boýunça GGR/NGR/hold deňeşdirmesi.
Agyrysyz yza gaýdyp gelmek
Blue-Green: marşrutyň derrew "gök" öwrülmegi.
Canary: traffigi 0% -e çenli azaldýarys, çipleri baýdak bilen öçürýäris.
Assets: köne manifest elýeterli (immutable), köne sahypalardaky oýunçylar bozulmaýar.
Maglumatlar: dual-write bar bolsa - yzyna gaýtarylanda "köne" çeşmesini okaýarys; confirm-den öň destructive-migrasiýa bolmady.
Guramaçylyk we prosesler
SRE goragy bolan Change windows: iň ýokary nokatlara/sport çärelerine täsir etmeýäris.
Runbooks: ingress geçişleri, DB rollary, çip baýdagy, aragatnaşyk zynjyrlary üçin barlag sahypalary.
Dark-launch: UI-de görünmekden başga hemme zady goşýarys, "gizlin" ýükleri sürýäris.
Ýygy-ýygydan ýalňyşlyklar (anti-pattern)
Görnüşsiz assetalary täzeden ýazmak → döwülen müşderiler we "gülgüne meýdançalar".
Wakalaryň üýtgemegi/API "ýuwaşlyk" → üpjün edijileriň we daşbordlaryň integrasiýalary.
Göçmek shema + logic bir ädimde dual-write → maliýe tapawudy bolmazdan.
Deňsizligiň ýoklugy → retralarda goşa debetler.
Bir geçiş birbada 100% kanareýalar we metrikler bolmazdan.
UI-relizi we hasaplaýyş ýadrosyny bir aýlawda garyşdyrmak.
Yzyna gaýtarmak ýa-da yzyna gaýtarmak üçin meýilnama ýok.
Çek sanawy zero-downtime
Şertnamalar we maglumatlar
- SemVer + 'contractVer/eventVer/calcVer' ýazylýar we resminamalaşdyrylýar.
- 'expand' göçmeleri öňünden ulanyldy; 'migrate' - fonda; 'contract' - indiki aýlawda.
- Maliýe logikasynyň üýtgeýän ýerinde Dual-write/Dual-read.
Infrastruktura
- CDN: immutable-assets, manifest, tag-purge, 'stale-while-revalidate'.
- Pul özeni üçin Blue-Green; API/oýun şlýuzlary üçin Kanary.
- UI/mehanik üçin Feature-flags; baýdaklar deploýsyz dolandyrylýar.
Syn ediliş
- 'buildId/semver/calcVer' bilen söwda; SLO we fin-delta dashbordlary.
- 'VOID', 'error _ rate', live-QoS-iň pese gaçmagy üçin aladalar.
Yza çekiş we howpsuzlyk
- Rollback (ingress/marşrut) düwmesi, köne manifest bar.
- Dolandyryjyny barlamak üçin PITR we şadow simleri.
- Yza gaýdyp barmak synagy steýjde we kiçi önümçilik segmentinde işlenip düzüldi.
Amallar
- Geçiş kitaplary; ylalaşylan change penjireleri.
- Dark-launch/kanarya; goýberilenden soň retro.
iGaming-de Zero-downtime - bu ulgamlaýyn tejribe: wersiýalar we şertnamalar, immutable-assets we CDN, blue-green/canary, iş wagty bolmazdan göçmek, idempotent pul we berk gözegçilik. Bu çek sanawyny yzarlap, oýunçy hiç zady duýmaz ýaly oýunlary we platformany täzeleýärsiňiz - hemme zadyň has çalt we durnukly bolmagyndan başga.