Масштабирование
Масштабирование игровой платформы — способность обслуживать растущий трафик без деградации 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.