API Gateway es un servicio intermediario entre los clientes y los microservicios internos. Agrega llamadas, gestiona la ruta, la autorización, aplica políticas de seguridad y limitación, así como transforma y proxifica las solicitudes.
El API Gateway es necesario para ocultar la estructura interna de los servicios del mundo exterior y unificar la interacción. Esto ayuda a reducir el acoplamiento, acelerar el desarrollo de frontends y proporcionar un control centralizado sobre el acceso y el registro.
Ejemplo de configuración de nginx como un API Gateway sencillo:
server { listen 80; location /user/ { proxy_pass http://localhost:8081/; } location /order/ { proxy_pass http://localhost:8082/; } }
Características clave:
¿Puede un servicio llamar a otro saltándose el API Gateway?
Los servicios internos pueden usar llamadas directas para escenarios privados, pero para clientes externos, el API Gateway es el principal medio de acceso.
¿Es el API Gateway un único punto de falla?
Sí, si no se configura la agrupación y el balanceo. Es importante ejecutar múltiples instancias y usar un equilibrador de carga.
¿Puede el API Gateway almacenar en caché las respuestas?
Sí, los gateways avanzados pueden almacenar en caché las solicitudes GET, lo que reduce la carga en los servicios y acelera la entrega de datos. Ejemplo de configuración de caché en Kong:
plugins: - name: proxy-cache config: strategy: memory content_type: [application/json] cache_ttl: 300