1. Antecedentes de API Gateway
En la arquitectura de microservicios, una aplicación grande se dividirá en varios servicios individuales pequeños. Estos pequeños servicios tienen su propio procesamiento, su propia base de datos (también puedes usar * * *), y tal vez el idioma sea diferente. Se pueden implementar en uno o más servidores, esencialmente para desacoplar aplicaciones complejas. Entonces, ¿por qué los microservicios necesitan una puerta de enlace API?
Echemos un vistazo a los problemas causados por los microservicios:
El cliente necesita conocer varias direcciones de servicio.
¿Cómo lidiar con las funciones generales? Por ejemplo, autenticación, control de flujo, registro, etc.
En el pasado, una función se podía completar con una sola solicitud, pero ahora puede requerir que se realicen varios servicios juntos. ¿Cómo podemos reducir el tiempo de solicitud del cliente?
Debido a los problemas anteriores, es necesario definir un proxy, es decir, una puerta de enlace API, delante de todos los servicios. Todas las solicitudes de los clientes deben llegar a la dirección de servicio real a través de la puerta de enlace API, lo que puede evitar efectivamente la exposición de la dirección real. Al mismo tiempo, la puerta de enlace API también puede integrar autenticación, control de flujo, registros, agregación de API, listas blancas y negras, etc.
2. Introducción a Kong
Kong es un marco de puerta de enlace API desarrollado por Mashape y de código abierto en 2015. Se basa en nginx y OpenResty y sus características principales son un alto rendimiento y una gran escalabilidad. Debido a que está desarrollado en base a nginx, muchos materiales de ajuste en línea sobre nginx se pueden usar en Kong, incluido el equilibrio de carga o la actuación como servidor web.
La expansión del orificio se realiza a través del mecanismo de complemento y también se proporciona un método de muestra para la personalización del complemento. El complemento define el ciclo de vida completo de una solicitud, desde la entrada hasta la retroalimentación al cliente, por lo que Computer Training cree que puede satisfacer la mayoría de las necesidades de personalización. El propio Kong integra muchos complementos, incluidos CORS de dominio cruzado, registro, limitación de corriente, reenvío, verificación de estado, disyuntor, etc. A partir de github, la función de agregación de API también ha entrado en la etapa de desarrollo.