Casino konteynerləşdirmədən necə istifadə edir (Docker, Kubernetes)
Niyə Casino konteyner
Onlayn kazinolar onlarla domendir (cüzdan, bahis, bonuslar, kassa, KYC/AML, RG, hesabat, provayderlərlə inteqrasiya). Konteynerlər verir:- Tez buraxılışlar və asılılığın izolyasiyası. Bir şəkil → dev/stage/prod eyni mühit.
- Üfüqi miqyaslandırma. Dərəcələrin/axınların yüklənməsi üzrə avtoskeylinq.
- Etibarlılıq. Özünü müalicə podları, rollout/rollback fasiləsiz.
- Multiregion. data residency və latency üçün yurisdiksiya klasterləri.
Dayaq arxitekturası
Laylar:- Images & Registry: standartlaşdırılmış əsas şəkillər (alpine-based), imza/tarama siyasətləri ilə daxili registry.
- CI/CD: yığma → testlər → SAST/DAST → imza → push → GitOps vasitəsilə deploy/Helm/Argo CD.
- Orchestration: Kubernetes vahid idarəetmə planı kimi. Domen/mühit adı.
- Service Mesh (isteğe bağlı): mTLS, policy, retries, circuit-breaking (Istio/Linkerd).
- Data Plane: idarə olunan DB (Postgres, ClickHouse, Redis), obyekt saxlama (S3), növbələr (Kafka/NATS).
- Edge: API-şluz/ingress, WAF/bot qorunması, rate limits, geo-filtrlər.
- Observability: Prometheus/Grafana, Loki/ELK, OpenTelemetry traces, алёрты.
Platforma domenlərinin konteynerləşdirilməsi
Wallet/Ledger (kritik-konsistent nüvəsi): sabit CPU/mem, PDB (PodDisruptionBudget), prioritet siniflər, StatefulSet üçün 'maxUnavailable = 0'; sərt rollout siyasəti (mavi-yaşıl).
Gaming API/Bridge provayderlərə: stateless xidmətləri, RPS/latency üfüqi HPA, xarici asılılıqlarda readiness.
Bonus/Promo/Comms: sıra ilə asenxron vorkers; sıra uzunluğu skayl.
Cashier/PSP/Crypto-on/off-ramp: ayrıca namespace, şəbəkə siyasətçiləri, mTLS; mesh səviyyəsində taymaut/retraj.
KYC/AML/KYT: PII-yə məhdud giriş ilə təcrid olunmuş pod; disk şifrələmə ilə node pools.
Live/Streaming Edge: WebRTC/LL-HLS Gateway; DSCP/UDP-friendly şəbəkələri ilə regional klasterlərdə düyünlər.
Reporting/ETL/DWH: k8s CronJob-da batch joblar, resurslar 'requests/limits' vasitəsilə, prioritet aşağıdır.
Şəkillər və Dockerfile: təcrübə
Hücum səthini minimuma endirin: multi-stage build, root olmayan user, 'distroless '/alpine.
Asılılıq və 'CMD '/' ENTRYPOINT' versiyalarını «müqavilə» kimi qeyd edin.
Qatları (lock faylları) önbelleğe alın.
healthcheck (k8s səviyyəsində - 'readiness '/' liveness') daxil edin.
Nümunə (Node. js, multi-stage, non-root):dockerfile build
FROM node:20-alpine AS build
WORKDIR /app
COPY package. json./
RUN npm ci --only=production
COPY..
RUN npm run build
run
FROM gcr. io/distroless/nodejs20
WORKDIR /app
COPY --from=build /app/dist./dist
COPY --from=build /app/node_modules./node_modules
USER 10001
ENV NODE_ENV=production
CMD ["dist/server. js"]
Kubernetes deploy və təhlükəsizlik
Deployment/StatefulSet: iki strategiya - stateless üçün RollingUpdate (default), kritik xidmətlər üçün Blue-Green/Canary (cüzdan/ledger).
Probes: 'readiness' xarici asılılıqları yoxlayır (BD/cache/provayder), 'liveness' - prosesin özü.
NetworkPolicy: default deny-all; yalnız ehtiyacınız olduqda çıxış/daxil olanları açın.
Secrets: External Secrets + KMS/HSM; açar rotasiyası (JWT 'kid'), RBAC ilə giriş məhdudiyyətləri.
Pod Security: qeyri-root, heç bir imtiyaz, readonly-rootfs, seccomp, AppArmor.
ResourceQuotas/LimitRanges: SLO pul nüvəsini təmin edin, «səs-küylü» işçiləri ayırın.
OPA/Gatekeeper: probes/resurs/labels olmadan «deploy qadağan» siyasəti.
CI/CD, GitOps və buraxılış strategiyaları
Pipeline: build → unit/integration → security scan (SAST/DAST) → SBOM → imza (cosign) → push → Argo CD sink.
Canary/Blue-Green:- ledger/cüzdan üçün Blue-Green (ingress/VS vasitəsilə keçid).
- Ön API üçün Canary (1-5% trafik, «stop siqnal» kimi səhv/gecikmə metrikası).
- DB miqrasiyası: shadow tables/expand-migrate-contract, «irəli uyğun» miqrasiyası.
- Feature Flags: trafik/bölgə seqmentləri üzrə fich.
Avtoskeylinq və performans
HPA/VPA: HPA RPS/latency/CPU, VPA - ETL və analitika işçiləri üçün.
Cluster-Autoscaler: ayrı-ayrı node-pools: CPU-intensive (bridge/API), memory-heavy (ETL), network (WebRTC).
PDB/Pod Priority: Eviktlərdən kritik pod qoruyun.
Caching: yerli sidecar Redis-proxy, ümumi Redis-klaster; hadisələrə görə invalidate.
Cold-start: başlanğıcda JIT/konnekt hovuzlarını qızdırın (init-konteynerlər).
Stateful-xidmətlər və məlumatlar
BD (Postgres/ClickHouse): təcili ehtiyac olmadan klasterin içərisinə prod-BD doldurmayın. Patroni/Operator, PV ilə idarə olunan xidmətlərə və ya ayrı-ayrı klasterlərə üstünlük verin.
Əməliyyat nüvəsi: ciddi RPO/RTO, AZ sinxron replikaları; fiziki backup + PITR.
Caches (Redis): klaster rejimi, yalnız lazım olduqda RDB/AOF saxlamaq; seanslar üçün - TTL və sticky-less dizayn.
Növbələr/şinlər: Kafka/NATS - ayrı disk hovuzları ilə k8s altında operatorlar; qoşulma və kvota limitləri.
Canlı provayderlər və konteynerlərdə axın
Optimallaşdırılmış yığın (eBPF/UDP tuning) ilə qovşaqlarda DaemonSet/Deployment kimi WebRTC şlüzləri.
Regionlar üzrə Edge klasteri (oyunçulara yaxın) + GitOps vasitəsilə mərkəzləşdirilmiş nəzarət.
QoS metrika: RTT siqnalları bahis, dropped frames, abort raundları; FPS/bitrate yük və deqradasiya avtoskeyl.
Şəbəkə siyasətləri: UDP portları whitelisting, DSCP, regionlararası trafikin məhdudlaşdırılması.
Müşahidə və SRE
SLI/SLO metrləri: latency p95 cüzdan/bahis, error-rate, round-settle-time, payout-SLA, hadisələr növbəsi.
Tracking: 'traceId' keçidlidir (ingress → API → cüzdan → provayder → webhook).
Qeydlər: strukturlaşdırılmış, 'playerId/betId/roundId' ilə korrelyasiya.
Alertlər: səhvlərin büdcəsi (kanarya buraxılışı öz-özünə dayanır), VOID/RETRY artımı, HPA deqradasiyası.
Runbooks: insidentlər haqqında dəqiq təlimatlar (provayderin geri çəkilməsi, leger rasinxronu, kaskad restartları).
Komplayens və izolyasiya
Yurisdiksiyalara görə Namespaces (EU/UK/CA/...); data rezidentlik üçün müxtəlif klasterlər.
PII/ödəniş domenlərinin bölünməsi: fərdi VPC/peering, məhdud egress.
Boşluqların skan edilməsi: görüntülər və rentaym səviyyəsində (admission-controller), «yalnız imzalanmış görüntülər» siyasəti.
Audit-loqlar dəyişməz (WORM/S3 Object Lock), hesabatların tənzimləyiciyə ixracı.
Dəyəri və səmərəliliyi
Production nüvəsini (sabit resurslar) və elastik workloadları (avtoskeyl/spot düyünlər) ayırın.
Elm Requests/limits: latency-kritik xidmətlər üçün CPU-throttling çəkinin.
Right-sizing: VPA tövsiyələr + profil.
ETL/analitika üçün spot hovuzlar (yalnız düzgün PDB və fasilə tolerantlığı ilə).
Anti-nümunələr
readiness/liveness olmadan deploy və resursları məhdudiyyətsiz.
NetworkPolicy olmadan bir ümumi namespace və «düz» şəbəkə.
Fəlakətli RollingUpdate cüzdan ilə 'maxUnavailable> 0'.
Sirləri şifrələmə və rotasiya olmadan mühit dəyişənlərində saxlamaq.
Bir DB-də OLTP/OLAP-ın qarışdırılması, pik zamanı «alın» miqrasiyası.
GitOps olmaması: «əl düzəlişləri», manifestlərin sürüklənməsi.
Worker 'idempotencyKey' görməməzlikdən → retras əməliyyatlar.
Giriş çek siyahısı
Bazis
- Vahid əsas şəkillər, işarələr və yeniləmə siyasəti.
- Xüsusi registry + boşluqları skan, yalnız imzalanmış şəkillər.
- GitOps (Argo CD/Flux), Helm/Kustomize, bir həqiqət mənbəyi.
Kubernetes
- Domenlər/regionlar üzrə Namespaces; NetworkPolicy «deny-all default».
- Probes, PDB, prioritetlər, HPA/VPA, Cluster-Autoscaler.
- RBAC minimal tələb prinsipi, PodSecurity/PSA enforced.
Məlumatlar
- Operator ilə idarə BD və ya ayrı-ayrı klasterlər; disk şifrələmə, PITR.
- DWH-də ALTP/OLAP, CDC-nin bölünməsi, log obyektinin saxlanması.
Təhlükəsizlik və uyğunluq
- mTLS/mesh, KMS/HSM, JWT/açar rotasiyası, audit-trail (WORM).
- PII/ödənişlərin bölünməsi, egress-nəzarət, geo-izolyasiya.
Müşahidə
- SLI/SLO, alert, error-budgets; korrelyasiya və korrelyasiya.
- Dashboard QoS canlı axını və bahislər.
Buraxılışlar
- Pul nüvəsi üçün mavi-yaşıl, API üçün Canary; «expand-contract» miqrasiya.
- Feature-flags, downtime olmadan geri.
iGaming-də konteynerləşdirmə yalnız «deploymaq üçün əlverişli» deyil. Bu intizam: təkrarlanan görüntülər, GitOps, domen izolyasiyası, ciddi şəbəkə, müşahidə və təhlükəsiz buraxılışlar. Belə bir casino platforması ilə:
- provayderləri və ödənişləri daha sürətli birləşdirir, canlı yüklərin zirvələrinə tab gətirir, məlumat tənzimləyicilərinin tələblərinə əməl edir və cüzdan və ledger üçün risk olmadan proqnozlaşdırıla bilər.