Масштабирование

Масштабирование игровой платформы — способность обслуживать растущий трафик без деградации UX.

Vertical vs Horizontal

Vertical scaling: увеличение мощности одной машины. Проще, но лимит железа. Horizontal scaling: добавление нод. Требует stateless-архитектуры или sticky-sessions. Для гейминга обычно комбинация: мощные ноды под БД, множество мелких под API/game-engine.

Autoscaling

Reactive: масштабирование по метрикам (CPU, RPS, queue depth). Scheduled: заранее известные пики (топ-матч, выход слота). Predictive: ML-based прогноз. Инструменты: Kubernetes HPA/VPA, AWS Auto Scaling, Karpenter. Cold start: 30–120 сек — планировать буфер.

Database scaling

Read replicas: разгрузка чтения. Sharding: партиционирование по user_id или geo. Connection pooling (PgBouncer). Кэширование Redis. CQRS: разделение read/write моделей. Для критичного write-heavy — CockroachDB, YugabyteDB.

Bottlenecks

Типичные узкие места: DB connections, session storage, message queue throughput, WebSocket per-node limit. Load testing (k6, Locust) выявляет предел до inцидентa. Capacity planning: buffer 30–50% сверх peak.