Novedades en API7 Enterprise 3.2.12: Compatibilidad con Stream Routes
May 24, 2024
En API7 Enterprise 3.2.12, se ha introducido la compatibilidad con rutas de flujo (stream routes), lo que permite el proxy y el balanceo de carga del tráfico de protocolos TCP/UDP.
Al configurar rutas de flujo, API7 Enterprise puede actuar como proxy para solicitudes de servicios como MySQL y MongoDB basados en el protocolo TCP. También puede actuar como proxy para aplicaciones como Redis, que pueden configurarse con protocolos TCP o UDP. Esto permite una gestión y optimización efectiva del tráfico de red TCP/UDP.
¿Cómo usar las rutas de flujo en API7 Enterprise?
Agregar un servicio de flujo
Al agregar manualmente un servicio, se ha añadido una opción para seleccionar el tipo de servicio, que admite dos tipos: HTTP y Stream, que representan proxy de capa 7 y proxy de capa 4, respectivamente. Si se selecciona el tipo de servicio como Stream
, el esquema de upstream puede elegirse como TCP
o UDP
. Es importante tener en cuenta que, una vez seleccionado el tipo de servicio, no se puede cambiar, por lo que se debe asegurar de elegir el tipo correcto.
Agregar rutas de flujo
Después de crear con éxito un servicio de tipo Stream, se redirigirá a la página de detalles del servicio. El siguiente paso es agregar rutas haciendo clic en el botón Agregar ruta de flujo
.
Complete el nombre de la ruta, la descripción y la configuración relevante de la ruta en el formulario. Aquí, configuramos una ruta para actuar como proxy del servicio MySQL.
En comparación con las configuraciones de rutas HTTP regulares, las rutas de flujo tienen tres opciones de configuración diferentes.
-
Dirección del servidor: Es la dirección donde el servidor de la puerta de enlace recibe las conexiones de la ruta de flujo, sirviendo como la entrada del tráfico de la ruta de flujo en la puerta de enlace. Cuando los clientes buscan establecer conexiones, envían solicitudes a esta dirección, y la puerta de enlace reenvía o maneja estas solicitudes según las reglas de enrutamiento predefinidas.
-
Puerto del servidor: Se utiliza para especificar el puerto en el que el servidor de la puerta de enlace escucha el tráfico.
-
Dirección remota: Es la dirección del cliente que inicia la solicitud. Solo las solicitudes enviadas desde direcciones de cliente que coincidan con la dirección remota pueden ser reenviadas, lo que permite la gestión del tráfico para clientes específicos.
Después de crear con éxito la ruta, podemos ver la nueva ruta MySQL en la lista.
Configurar nodos upstream y publicar el servicio
A continuación, publicaremos el servicio en el grupo de la puerta de enlace y agregaremos un nodo upstream correspondiente al servicio MySQL.
Después de publicar el servicio, cuando el servidor de la puerta de enlace en 127.0.0.10
y el puerto 9101
reciba una solicitud, esta ruta será responsable de manejar la solicitud y reenviarla al servicio MySQL upstream.
Además de la función básica de reenvío de solicitudes, después de la publicación del servicio, se pueden mejorar el rendimiento y la seguridad del servicio mediante una serie de configuraciones. Por ejemplo, se pueden configurar estrategias de balanceo de carga para las rutas de flujo para garantizar que el tráfico se distribuya uniformemente entre varios servidores MySQL upstream, mejorando así la escalabilidad y la tolerancia a fallos del sistema.
Además, se pueden configurar mecanismos de verificación de estado para monitorear periódicamente el estado de los servidores upstream, asegurando que solo los servidores saludables reciban y reenvíen solicitudes, y evitando interrupciones del servicio debido a fallos del servidor.
Plugins admitidos
Actualmente, hay cuatro plugins admitidos para rutas de flujo:
-
ip-restriction
: Proporciona capacidades de control de acceso por IP. -
limit-conn
: Este plugin puede restringir el número de solicitudes concurrentes de los clientes a un solo servicio. -
prometheus
: Proporciona capacidades de monitoreo y alertas del sistema para rutas de flujo. -
syslog
: Registra y envía registros del sistema.
Estos cuatro plugins mejoran colectivamente la seguridad, estabilidad, monitoreo y mantenibilidad de las rutas de flujo.
Conclusión
Las rutas de flujo en API7 Enterprise 3.2.12 brindan a los usuarios una gestión más robusta y flexible del tráfico de protocolos TCP/UDP, contribuyendo a mejorar la confiabilidad y escalabilidad de las aplicaciones. Ofrece una mejor gestión del tráfico de red, mayor confiabilidad y eficiencia operativa del sistema, y una mejor adaptabilidad empresarial para los usuarios empresariales, lo que lo hace valioso para respaldar la operación de aplicaciones empresariales críticas.