Conceptos

Patrón API Gateway

Patrón que proporciona un punto de entrada único para múltiples microservicios, manejando routing, autenticación, rate limiting y agregación de respuestas.

seed#api-gateway#pattern#microservices#routing#aggregation

¿Qué es?

El patrón API Gateway proporciona un punto de entrada único para clientes que necesitan acceder a múltiples microservicios. En lugar de que el cliente conozca y llame a cada servicio, el gateway enruta, agrega y transforma las requests.

Responsabilidades

  • Routing: dirigir requests al servicio correcto
  • Autenticación/Autorización: verificar identidad centralmente
  • Rate limiting: proteger servicios de sobrecarga
  • Agregación: combinar respuestas de múltiples servicios
  • Transformación: adaptar formatos entre cliente y servicios
  • Caching: cachear respuestas frecuentes

Implementaciones

GatewayTipoFortalezaLimitación
AWS API GatewayManagedIntegración nativa con Lambda, sin infraestructuraLatencia añadida, costo por request
KongOpen source / managedPlugins extensibles, multi-cloudComplejidad operacional
NGINXOpen sourceRendimiento extremo, configuración flexibleSin features de API management nativos
EnvoyOpen sourceProxy L7, base de service meshesCurva de aprendizaje alta
TraefikOpen sourceAuto-discovery con Docker/K8sMenos maduro para APIs complejas

Anti-patrones

  • Gateway que contiene lógica de negocio
  • Gateway como cuello de botella (single point of failure)
  • Demasiada agregación en el gateway

¿Cuándo usar un API Gateway?

  • Múltiples microservicios que necesitan un punto de entrada unificado
  • Requisitos transversales como autenticación, rate limiting o transformación de requests
  • Clientes diversos (web, mobile, IoT) que necesitan respuestas adaptadas (BFF)

¿Por qué importa?

El API gateway centraliza preocupaciones transversales — autenticación, rate limiting, transformación — que de otro modo se duplicarían en cada microservicio. Es el punto de control que simplifica tanto la operación como la experiencia del consumidor de la API.

Referencias

Conceptos