Para lidiar con la arquitectura de microservicio, a menudo se usa junto con un proxy inverso (como nginx o apache httpd) y, para cuestiones transversales, se usa el patrón de puerta de enlace API de implementación . A veces, el proxy inverso hace el trabajo de puerta de enlace API.
Será bueno ver claras diferencias entre estos dos enfoques. Parece que el beneficio potencial del uso de la puerta de enlace API es invocar varios microservicios y agregar los resultados. Todas las demás responsabilidades de la puerta de enlace API se pueden implementar mediante el proxy inverso, como:
- Autenticación (se puede hacer usando scripts nginx LUA);
- Seguridad del transporte. Es en sí misma tarea de proxy inverso;
- Balanceo de carga
- ....
Entonces, en base a esto, hay varias preguntas:
- ¿Tiene sentido usar la puerta de enlace API y el proxy inverso simultáneamente (como solicitud de ejemplo-> puerta de enlace Api-> proxy inverso (nginx) -> mictoservicio concreto)? En que casos
- ¿Cuáles son las otras diferencias que se pueden implementar con la puerta de enlace API y que no se pueden implementar con el proxy inverso y viceversa?
fuente
Creo que API Gateway es un proxy inverso que se puede configurar dinámicamente a través de API y potencialmente a través de UI, mientras que el proxy inverso tradicional (como Nginx, HAProxy o Apache) se configura a través de un archivo de configuración y debe reiniciarse cuando cambia la configuración. Por lo tanto, API Gateway debe usarse cuando las reglas de enrutamiento u otra configuración cambian con frecuencia. A tus preguntas:
Además, API Gateway se proporciona a menudo en forma de SAAS, como Apigee o Tyk, por ejemplo.
Además, aquí está mi tutorial sobre cómo crear una puerta de enlace API simple con Node.js https://memz.co/api-gateway-microservices-docker-node-js/
Espero eso ayude.
fuente
Las puertas de enlace API suelen funcionar como una construcción L7.
Las puertas de enlace API proporcionan una funcionalidad adicional en comparación con un proxy inverso simple. Si considera algunos de los portales que existen, pueden proporcionar:
Sin embargo, con el advenimiento de las mallas de servicio como Istio, Consul gran parte de la funcionalidad de API Gateways será subsumida por mallas.
fuente