API Gateway упрощает вход в систему ровно до того момента, пока сам не становится слишком тяжелой центральной точкой для auth, routing, policy и observability.
Кейс помогает увидеть, как на одном ingress-слое сходятся маршрутизация, rate limiting, authn/authz, request shaping и backpressure, а значит здесь легко спрятать и удобство, и новый bottleneck.
В интервью и архитектурных обсуждениях этот кейс полезен тем, что проверяет чувство границы между platform capability и business logic, а также понимание blast radius централизованного control plane.
Control Plane
Фокус на governance-политиках, лимитах, маршрутизации и стабильности edge-поведения.
Data Path
Нужно держать предсказуемую latency и throughput при росте трафика и burst-нагрузке.
Failure Modes
Покрывайте fail-open/fail-close, деградацию и безопасный fallback при частичных отказах.
Ops Ready
Показывайте мониторинг saturation, retry storm и operational guardrails.
Связанная книга
Building Microservices
Sam Newman подробно описывает роль API Gateway в микросервисной архитектуре.
API Gateway — единая точка входа для всех клиентских запросов в микросервисной архитектуре. Это критически важный компонент, который обеспечивает маршрутизацию, безопасность, трансформацию запросов и множество cross-cutting concerns.
Зачем нужен API Gateway?
Функциональные требования
Routing
- Path-based routing (/users → User Service)
- Header-based routing (A/B testing)
- Query parameter routing
- Weighted routing (canary deployments)
Security
- JWT/OAuth2 validation
- API key management
- IP whitelisting/blacklisting
- mTLS для service-to-service
Rate Limiting
- Per-user/per-IP лимиты
- Per-endpoint throttling
- Burst handling
- Quota management
Transformation
- Request/Response modification
- Protocol translation (REST → gRPC)
- Response aggregation
- Schema validation
Связанный кейс
Rate Limiter
Детальный разбор алгоритмов rate limiting: Token Bucket, Sliding Window.
Нефункциональные требования
< 10ms added
Latency
P99
100K+ RPS
Throughput
на инстанс
99.99%
Availability
SLA
Horizontal
Scalability
stateless
Высокоуровневая архитектура
Mobile App
Web App
Partner API
IoT Devices
Load Balancer
L4/L7
Gateway 1
Gateway 2
Gateway N
User Service
Order Service
Payment Service
External Services
Нажмите на клиента или запустите анимацию для визуализации потока запроса
Ключевые паттерны
Backend for Frontend (BFF)
Отдельный API Gateway для каждого типа клиента, оптимизированный под его потребности.
Backend for Frontend Pattern
Отдельный BFF для каждого типа клиента
КЛИЕНТЫ
Mobile App
Оптимизирован под мобильные
Web App
Полный функционал
Admin Panel
Расширенные права
BFF LAYER
MICROSERVICES
API Composition
Gateway агрегирует данные из нескольких сервисов в один ответ.
Преимущества:
- Уменьшение количества round-trips
- Скрытие внутренней структуры
Риски:
- Увеличение latency
- Сложность обработки ошибок
Связанная книга
Release It!
Michael Nygard — автор паттерна Circuit Breaker и других stability patterns.
Circuit Breaker в Gateway
Защита от каскадных сбоев при недоступности downstream сервисов.
Circuit Breaker Simulation
Паттерн защиты от каскадных сбоев
CLOSED
Нормальная работа. Запросы проходят к сервису.
State Transitions
Configuration
0
Total Requests
0
Successful
0
Rejected (Fast)
Fail Fast
Мгновенный отказ вместо ожидания timeout
Cascading Prevention
Защита от распространения сбоев
Self-Healing
Автоматическое восстановление через timeout
Документальный фильм
Inside Envoy: The Proxy for the Future
История создания Envoy Proxy и его роль в service mesh экосистеме.
Популярные решения
Kong
- Plugins ecosystem
- Lua/Go extensibility
- Declarative config
AWS API Gateway
- Lambda integration
- WebSocket support
- Pay-per-request
Envoy
- L7 proxy
- Service mesh ready
- xDS API
NGINX Plus
- High performance
- Native modules
- Active health checks
Traefik
- Auto-discovery
- Let's Encrypt
- Kubernetes native
Apigee (Google)
- Analytics
- Developer portal
- Monetization
Советы для интервью
1. Начните с "почему"
Объясните, зачем нужен API Gateway: single entry point, security, cross-cutting concerns. Не просто "это стандарт в микросервисах".
2. Обсудите stateless vs stateful
Gateway должен быть stateless для горизонтального масштабирования. Состояние (rate limits, sessions) — в Redis/external store.
3. Рассмотрите single point of failure
Gateway — критический компонент. Обсудите: multiple instances, health checks, graceful degradation, fallback responses.
4. Не делайте Gateway слишком "умным"
Избегайте бизнес-логики в Gateway. Он должен заниматься только cross-cutting concerns: auth, routing, rate limiting.
Ключевые выводы
- API Gateway — единая точка входа, обеспечивающая routing, security и observability
- Должен быть stateless для горизонтального масштабирования (состояние в Redis)
- Backend for Frontend (BFF) — отдельный gateway для каждого типа клиента
- API Composition уменьшает round-trips, но добавляет latency и сложность
- Circuit Breaker защищает от каскадных сбоев downstream сервисов
- Избегайте бизнес-логики в Gateway — только cross-cutting concerns
Для дополнительной практики по паттерну API Gateway полезно посмотреть microservices.io: API Gateway pattern и AWS API Gateway Developer Guide.
Связанные главы
- System Design Primer (short summary) - даёт фундаментальные принципы decomposition, API design и отказоустойчивости, на которых строится gateway-слой.
- Continuous API Management (short summary) - расширяет тему lifecycle API, governance и контрактного управления вокруг gateway-платформы.
- Customer-friendly API: удобное API для клиентов - углубляет BFF-подход и клиент-ориентированный дизайн фасада поверх внутренних сервисов.
- Rate Limiter - детализирует алгоритмы и практику лимитирования, которые обычно реализуются на edge-слое gateway.
- API Security Patterns - дополняет security-контуры gateway: authN/authZ, token handling, policy enforcement и perimeter hardening.
- Inter-Service Communication Patterns - показывает, как gateway взаимодействует с внутренними sync/async коммуникациями и где проходит граница ответственности.
- Service Mesh Architecture - помогает развести роли edge gateway и service mesh data plane/control plane внутри микросервисной платформы.
- Inside Envoy: The Proxy for the Future - даёт практический контекст по Envoy как L7 proxy-основе для API gateway и ingress-архитектур.
- Resilience Patterns - усиливает разделы про timeouts, retries, circuit breaker и graceful degradation на gateway-уровне.
- Zero Trust - связывает gateway с modern security-моделью: continuous verification, policy-based access и минимизация доверия.
- Kubernetes Fundamentals - объясняет deployment-контекст gateway в Kubernetes: ingress, autoscaling, service discovery и rollout-стратегии.
- Notification System - показывает, как gateway интегрируется с многоканальными delivery-пайплайнами и управляет внешним API-трафиком.
