Обновлено: 25 марта 2026 г. в 04:52

API Gateway

medium

Классическая задача: routing, authentication, rate limiting, load balancing, request/response transformation.

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?

Единая точка входа вместо прямых вызовов к сервисам
Централизованная аутентификация и авторизация
Rate limiting и защита от DDoS
Трансформация запросов/ответов
API composition и агрегация
Мониторинг, логирование, трейсинг

Функциональные требования

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

Высокоуровневая архитектура

Кликните на клиента для симуляции
CLIENTS

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

Redis(Cache & Rate Limits)
Config(etcd / Consul)
Metrics(Prometheus)
Готов

Нажмите на клиента или запустите анимацию для визуализации потока запроса

Active Client
Processing Gateway
Target Service

Ключевые паттерны

Backend for Frontend (BFF)

Отдельный API Gateway для каждого типа клиента, оптимизированный под его потребности.

Backend for Frontend Pattern

Отдельный BFF для каждого типа клиента

КЛИЕНТЫ

Mobile App

Оптимизирован под мобильные

Web App

Полный функционал

Admin Panel

Расширенные права

BFF LAYER

Mobile App BFF
Web App BFF
Admin Panel BFF

MICROSERVICES

Users
Orders
Payments
Inventory
Analytics
Settings

API Composition

Gateway агрегирует данные из нескольких сервисов в один ответ.

Преимущества:

  • Уменьшение количества round-trips
  • Скрытие внутренней структуры

Риски:

  • Увеличение latency
  • Сложность обработки ошибок

Связанная книга

Release It!

Michael Nygard — автор паттерна Circuit Breaker и других stability patterns.

Читать обзор

Circuit Breaker в Gateway

Защита от каскадных сбоев при недоступности downstream сервисов.

Circuit Breaker Simulation

Паттерн защиты от каскадных сбоев

CLOSED

Нормальная работа. Запросы проходят к сервису.

Failures: 0/3

State Transitions

CLOSED
failures ≥ 3
OPEN
timeout 5s
HALF-OPEN

Configuration

Failure Threshold3
Reset Timeout5s
Base Failure Rate30%

0

Total Requests

0

Successful

0

Rejected (Fast)

Recent Requests
No requests yet

Fail Fast

Мгновенный отказ вместо ожидания timeout

Cascading Prevention

Защита от распространения сбоев

Self-Healing

Автоматическое восстановление через timeout

Документальный фильм

Inside Envoy: The Proxy for the Future

История создания Envoy Proxy и его роль в service mesh экосистеме.

Смотреть

Популярные решения

Kong

Open Source / Enterprise
  • Plugins ecosystem
  • Lua/Go extensibility
  • Declarative config

AWS API Gateway

Managed
  • Lambda integration
  • WebSocket support
  • Pay-per-request

Envoy

Open Source
  • L7 proxy
  • Service mesh ready
  • xDS API

NGINX Plus

Commercial
  • High performance
  • Native modules
  • Active health checks

Traefik

Open Source
  • Auto-discovery
  • Let's Encrypt
  • Kubernetes native

Apigee (Google)

Enterprise
  • 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-трафиком.

Чтобы отмечать прохождение, включи трекинг в Настройки