Ответ
В проекте с микросервисной архитектурой (Spring Boot, Kubernetes) ключевые сервисы (API Gateway, Auth, Order) были рассчитаны на нагрузку:
- Пропускная способность: До 5 000 запросов в секунду (RPS).
- Задержка (latency): p99 ~50 мс.
Стратегии обеспечения масштабируемости и отказоустойчивости:
- Кэширование: Redis для хранения сессий и часто запрашиваемых данных, что снизило нагрузку на БД на ~40%.
- Асинхронная обработка: Неблокирующая обработка событий (нотификации, логирование) через Apache Kafka.
- Автомасштабирование: Horizontal Pod Autoscaler (HPA) в Kubernetes на основе загрузки CPU.
Пример конфигурации HPA:
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: order-service
minReplicas: 3
maxReplicas: 15
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70
Нагрузочное тестирование проводилось с использованием Gatling.