Nouveautés d'API7 Enterprise 3.2.12 : prise en charge des routes de flux

Zhihuang Lin

Zhihuang Lin

May 24, 2024

Products

Dans API7 Enterprise 3.2.12, la prise en charge des routes de flux a été introduite, permettant le proxy et l'équilibrage de charge du trafic des protocoles TCP/UDP.

En configurant des routes de flux, API7 Enterprise peut proxyer les demandes pour des services tels que MySQL et MongoDB basés sur le protocole TCP. Il peut également proxyer des applications comme Redis qui peuvent être configurées avec les protocoles TCP ou UDP. Cela permet une gestion et une optimisation efficaces du trafic réseau TCP/UDP.

Comment utiliser les routes de flux dans API7 Enterprise ?

Ajout d'un service de flux

Lors de l'ajout manuel d'un service, une option pour la sélection du type de service a été ajoutée, prenant en charge deux types : HTTP et Stream, représentant respectivement le proxy de couche 7 et le proxy de couche 4. Si le type de service est sélectionné comme Stream, le schéma en amont peut être choisi comme TCP ou UDP. Il est important de noter qu'une fois le type de service sélectionné, il ne peut pas être modifié, donc assurez-vous de choisir le bon type de service.

Ajouter un type de service de flux

Ajout de routes de flux

Après avoir créé avec succès un service de type Stream, vous serez redirigé vers la page des détails du service. L'étape suivante consiste à ajouter des routes en cliquant sur le bouton Ajouter une route de flux.

Ajouter des routes de flux pour les services

Remplissez le nom de la route, la description et la configuration de la route pertinente dans le formulaire. Ici, nous configurons une route pour proxyer le service MySQL.

Détails de l'ajout de routes de flux

Par rapport aux configurations de routes HTTP classiques, les routes de flux ont trois options de configuration différentes.

  • Adresse du serveur : Il s'agit de l'adresse où le serveur de la passerelle reçoit les connexions des routes de flux, servant d'entrée pour le trafic des routes de flux dans la passerelle. Lorsque les clients cherchent à établir des connexions, ils envoient des demandes à cette adresse, et la passerelle transfère ou gère ces demandes en fonction des règles de routage prédéfinies.

  • Port du serveur : Il est utilisé pour spécifier le port sur lequel le serveur de la passerelle écoute le trafic.

  • Adresse distante : Il s'agit de l'adresse du client qui initie la demande. Seules les demandes envoyées à partir d'adresses client identiques à l'adresse distante peuvent être transférées, permettant ainsi la gestion du trafic pour des clients spécifiques.

Après avoir créé avec succès la route, nous pouvons voir la nouvelle route MySQL ajoutée dans la liste.

Routes MySQL ajoutées

Configuration des nœuds en amont et publication du service

Ensuite, nous publierons le service dans le groupe de passerelles et ajouterons un nœud en amont correspondant au service MySQL.

Ajouter un nœud pour le service MySQL

Après la publication du service, lorsque le serveur de la passerelle à 127.0.0.10 et au port 9101 reçoit une demande, cette route sera responsable de traiter la demande et de la transférer au service MySQL en amont.

En plus de la fonction de transfert de demande de base, après la publication du service, les performances et la sécurité du service peuvent être améliorées grâce à une série de configurations. Par exemple, des stratégies d'équilibrage de charge peuvent être configurées pour les routes de flux afin de garantir que le trafic est uniformément réparti entre plusieurs serveurs MySQL en amont, améliorant ainsi l'évolutivité et la tolérance aux pannes du système.

De plus, des mécanismes de vérification de santé peuvent être mis en place pour surveiller périodiquement l'état des serveurs en amont, garantissant que seuls les serveurs sains reçoivent et transfèrent les demandes, et évitant les interruptions de service dues à des défaillances de serveur.

Plugins pris en charge

Actuellement, quatre plugins sont pris en charge pour les routes de flux :

  1. ip-restriction : Fournit des capacités de contrôle d'accès par IP.

  2. limit-conn : Ce plugin peut limiter le nombre de demandes concurrentes des clients vers un seul service.

  3. prometheus : Fournit des capacités de surveillance et d'alerte du système pour les routes de flux.

  4. syslog : Enregistre et envoie les logs système.

Ces quatre plugins améliorent collectivement la sécurité, la stabilité, la surveillance et la maintenabilité des routes de flux.

Conclusion

Les routes de flux dans API7 Enterprise 3.2.12 offrent aux utilisateurs une gestion plus robuste et flexible du trafic des protocoles TCP/UDP, contribuant à améliorer la fiabilité et l'évolutivité des applications. Elles apportent une gestion améliorée du trafic réseau, une fiabilité et une efficacité opérationnelle accrues du système, ainsi qu'une meilleure adaptabilité commerciale pour les utilisateurs d'entreprise, ce qui en fait un outil précieux pour soutenir l'exploitation des applications critiques des entreprises.

Tags: