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
| Gateway | Tipo | Fortaleza | Limitación |
|---|---|---|---|
| AWS API Gateway | Managed | Integración nativa con Lambda, sin infraestructura | Latencia añadida, costo por request |
| Kong | Open source / managed | Plugins extensibles, multi-cloud | Complejidad operacional |
| NGINX | Open source | Rendimiento extremo, configuración flexible | Sin features de API management nativos |
| Envoy | Open source | Proxy L7, base de service meshes | Curva de aprendizaje alta |
| Traefik | Open source | Auto-discovery con Docker/K8s | Menos 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
- API Gateway Pattern — Chris Richardson, 2014. Patrón original.
- API Gateway — Azure — Microsoft, 2024. Guía de implementación del patrón.
- Kong Gateway — Kong, 2024. API gateway open source de alto rendimiento.