Инфрақұрылымды кеңейту неге маңызды?
Бизнеске масштабтаудың қажеті
«Төбесіз» түсім. Ең жоғары оқиғалар (дерби, финалдар, слоттардың ірі релиздері) RPS-ді еселеп арттырады. Масштабтау трафик жарылыстарын 5xx қателеріне емес, GGR өсіміне айналдырады.
Тұрақты SLO. Критикалық жолдардың латенттілігін (ставка, балансты жаңарту, шығару) кез келген онлайн кезінде мақсатты шеңберде сақтаймыз.
Құны бақылауда. Икемділік = «тұрақты максимум» үшін емес, «ыстық сағаттар» үшін төлейміз.
Реттеуіш және бренд. Кассаның/әмиянның қолжетімділігі және болжамды жұмысы - ойыншылардың аудиті мен сенімінің мәні.
Масштабтау түрлері
Көлденең (scale-out)
Сервистердің даналарын қосамыз. stateless-API, провайдерлерге, веб-шлюздерге, воркерлерге арналған bridge негіздері. Артықшылықтары: істен шығуға төзімділік, икемділік. Кемшіліктері: іспеттілік және сыртқы жай-күй талап етіледі.
Тік (scale-up)
Түйін ресурстарын ұлғайту. ДБ және OLAP-кластерлер үшін қолайлы, бірақ шегі бар және өсім бірлігіне қарағанда қымбат.
Географиялық
Multi-AZ және қажет болған жағдайда multi-region: ойыншыға жақын → төмен мөлшерлемелер/ағындар үшін кідіріс және аварияларға көбірек төзімділік.
Казино нені масштабтайды
Edge және API: шлюздер, WAF, GraphQL/REST, WebSocket-хабтар (ставкалар/оқиғалар).
Провайдерлерге арналған Bridge: HPA-дан RPS-ке дейінгі live/RNG адаптерлері және 'bet' дейін уақыт. accepted`.
Әмиян/леджер: stateful-ядро - оқу репликалары арқылы масштабтау, транзакцияларды шардалау және оңтайландыру.
Касса: төлем провайдерлеріне арналған жеке пулдар/крипто on/off-ramp, төлем кезегі.
Оқиғалар кезегі/шинасы: autoscaling consumers бар Kafka/NATS кластері.
Кэш/каталогтар: Redis/Memory-кэштеу ыстық кілттер, статикалық жиынтықтар үшін CDN.
Стриминг: QoS бойынша автофолбэк және автоскейлі бар WebRTC/LL-HLS edge-нодтар.
Инженерлік қағидаттар
1. Ақшадағы теңсіздік. 'bet' бойынша кез келген ретрай. place`/`payout. request 'дәл бір рет өңделеді (сәйкестік кілті).
2. Кезектер мен backpressure. Сындарлы жолдар бұғатталмайды: егер провайдер/ДҚ баяу болса, сұраулар бақыланатын «ағызу» бар буферге түседі, екінші дәрежелі фичтер бірінші болып тозады.
3. Алдымен кэш. Read-heavy сұраулар (баланс, лобби) - кэш/материалданған көріністер арқылы; мүгедектер - оқиғалар бойынша.
4. Шардалау. Деректерді/ағындарды бөлісеміз ('playerId', ел, провайдер, валюта бойынша).
5. Консистенция ақша қайда болса сонда. Тек әмиян/леджер үшін қатаң ACID; қалғаны - оқиғалар арқылы eventual.
6. Шығарылымға дейінгі бақылау. Метриктер/трестер - сервис келісімшартының бір бөлігі, әйтпесе автоскейл «соқыр».
Өлшемдер мен мақсаттар (SLO/SLA)
Жасырындылығы p95/p99:- `bet. place '≤ 150-250 мс (өңір ішінде),' wallet. debit/credit` ≤ 50–100 мс, `payout. quote/submit` ≤ 500–800 мс.
- Қателер үлесі: '5xx' <0. 1–0. 3% API, 'reject _ rate' ставкаларына <0. қалыпты жұмыс кезінде 2%.
- Өткізу қабілеті: RPS API/bridge; events/sec шинада.
- Кезектер: күту ұзындығы мен уақыты (мысалы, ең көп сағатта 2-5 минутқа ≤ төлемдер).
- QoS стрим: dropped frames, RTT ставка сигналдары, раундтар түсігі.
- Кэш-хиттер: hit-ratio> 85-95% ыстық кілттерде.
- Cost/Revenue: инфрақұрылым құны/GGR, сұрау құны (µ $ per call).
Домендер бойынша масштабтау үлгілері
Әмиян мен леджер
Reader-replicas оқу үшін; writer - бір шардқа.
CQRS: жазба (қатаң) оқудан бөлек (материалданған тіліктер).
Batch-салыстыру және «түзетуші» транзакциялар - қатаң түрде append-only журналы арқылы.
Bridge/ойын интеграциясы
latency of 'bet автоскейлі бар Stateless-адаптерлер. accepted`.
Әрбір провайдер үшін Circuit breaker, деградация кезінде - UI уақытша деградациясы және үстелдерді өшіру.
Төлемдер/крипта
Тыңдаушылардың webhook 'және PSP/on-chain үшін бөлінген пул; idempotency бойынша қайта өңдеу.
SLA/құн/ел негізінде провайдерлер бойынша маршрутизатор.
Жүктеме операциялары
Воркерлер/джобтар (бонустар, миссиялар, турнирлер) - кезектерде; кезектің ұзындығы мен мерзімі бойынша масштабталады.
Стриминг
Edge-пулдар өңірлерге, автофолбэк WebRTC → LL-HLS; QoS ұстап тұру үшін битрейтке/сапаға тік лимиттер.
Сәулет шешімдері
HPA/VPA/Cluster Autoscaler: HPA — на API/bridge; VPA - ETL/есептерге; тораптар - әр түрлі пулдар (CPU-heavy, memory-heavy, network-optimized).
PodDisruptionBudget және басымдықтар: ақша өзегі ығыстырылудан қорғалған.
Feature flags және канареялық релиздер: жаңа фичтерді трафик пайызына қарай кеңейтеміз.
Geo-routing: Anycast/DNS және өңірлік ingress-шлюздер - пайдаланушыға жақын.
Құны мен тиімділігі
Ресурстар профильдері. Requests/limits берілген және нақты профильге сәйкес келеді (сындарлы жолдарда CPU-throttling жоқ).
Аналитикаға/ETL және фондық джобтарға арналған спот пулдар.
Жұмыс терезесінен тыс қамыр/стейдж ортасын автоматты ажырату.
Ядроның орнына кэш. CPU-ны ДБ-ға көбейтуге қарағанда Redis хиттерін қосу арзан.
Масштабтау кезіндегі қауіпсіздік
mTLS/mesh қоңырау бағаны өскен кезде серверлер арасында.
Желі сегментациясы (NetworkPolicy): ақша домендері/PII - жеке сенім аймақтары.
Құпияларды ротациялау және бейнелерге қол қою - тораптар көп = тәуекел орындары көп.
blast-radius бақылау: шардалау және сұрау лимиттері каскадтан қорғайды.
Қарсы үлгілер
Жаһандық бұғаттауы бар монолитті масштабтау: табандардың өсуі = қайшылықтардың өсуі.
Кластерлерді HPA және «екінші дәрежелі» фич деградациясының орнына мәңгі «шыңға» жылыту.
OLTP мен OLAP-ты бір ДБ-да араластыру - кез келген есеп мөлшерлеме кідірістерін жояды.
Ретраяларда (әсіресе шыңында) дебет дублі - іспеттіліктің болмауы.
CPU бойынша соқыр автоскейл - нақты метриканы елемейді (уақыт 'bet. place ', кезек ұзындығы).
Елімізге бір төлем провайдері - ол «жатқан» кезде масштабтайтын ештеңе жоқ.
Масштабтауды енгізудің чек-парағы
Стратегия
- SLO (p95 жасырындылық, қателер, RPS) және қателер бюджеті анықталған.
- Домендер сегментациясы: ақша/ставкалар/касса - екінші дәрежелі фичтерден бөлек.
Деректер
- Шардирлеу/реплика, оқуға арналған CQRS, материалдандырылған көріністер.
- Нақты мүгедектік саясаты бар кэш-қабат.
Инфрақұрылым
- HPA/VPA, әртүрлі node пулдар, PDB және басымдықтар.
- Geo-routing, multi-AZ, DR-ға дайындық.
Қолданбалар
- IdempotencyKey ақша/төлемдер/вебхактар.
- Circuit breakers және таймауттар; backpressure/кезек.
- Feature flags және канарейка.
Бақылау мүмкіндігі
- Трасса арқылы (ingress → API → әмиян → провайдер → webhook).
- RPS/latency/errors/queues/QoS ағынының дашбордтары.
- 'reject _ rate' өсу және 'round' деградациясы. settle`.
Құны
- Дұрыс requests/limits, фон тапсырмалары, авто-sleep емес-prod.
Инфрақұрылымды масштабтау «көп серверлер» туралы емес. Бұл басқарылатын икемділік туралы: қатты консистенттілік (ақша) қажет жерде - біз шард-ядро мен жылдам транзакцияларды жобалаймыз; мүмкін жерде - оқиғаларға, кезектер мен кэштерге көшіреміз. Бұған бақылаушылықты, географияны және релиздердің тәртібін қосыңыз - және платформа SLO, P&L және ойыншылардың сенімі бойынша ымыраға келмейтін кез келген шыңға төтеп береді.