APISIX renforce la plateforme de services cloud pour les marchés publics

Jing Yan

Jing Yan

January 31, 2024

Case Study

Aperçu

À propos de Zhengcaiyun

Fondée par le Département des Finances de la province du Zhejiang en Chine et le groupe Alibaba, Zhengcaiyun se spécialise dans la conception d'une plateforme de services cloud de pointe adaptée aux achats publics. Construite sur Internet, leur plateforme exploite la puissance du cloud computing et de la technologie du big data, en centrant leurs efforts sur la numérisation et la gestion des achats publics. La plateforme intègre les transactions d'achats publics en ligne, les processus de supervision et les offres de services, permettant à ses clients de naviguer dans des achats plus pratiques, efficaces et transparents.

Défis

  • Le tunneling Dubbo-vers-HTTP de Zhengcaiyun a introduit des défis dans la conversion des données de protocole, affectant les performances des composants internes.

  • La complexité de la double sérialisation dans Dubbo, impliquant JavaBeanDescriptor et Hessian2, a introduit un potentiel surcoût de performance pour Zhengcaiyun.

  • Les extensions métier de la passerelle Dubbo nécessitaient plus d'efforts en développement et déploiement en raison des inefficacités des appels synchrones mono-thread dans le plan HttpClient de Zhengcaiyun.

Résultats

  • L'intégration d'APISIX simplifie la transformation Dubbo-vers-Dubbo de Zhengcaiyun, réduisant la latence et améliorant les performances globales du système.

  • Avec l'aide d'APISIX, la conception concise de Dubbo et les connexions durables entraînent un Tps significativement plus élevé que HTTP, minimisant les coûts de connexion pour Zhengcaiyun.

  • En adoptant un protocole unifié, Zhengcaiyun minimise les surcoûts, facilitant des transmissions de données efficaces et légères entre les composants.

Contexte

Zhengcaiyun_Platform

Basée dans la province du Zhejiang, la plateforme Zhengcaiyun fonctionne comme un réseau de microservices autosuffisant, étendant ses services à des bureaux régionaux à travers les provinces. Elle fournit aux départements gouvernementaux une plateforme pour optimiser les achats et permet un déploiement privé par des entités non gouvernementales comme les banques. Pour faciliter la transmission de données inter-réseaux, Zhengcaiyun a lancé le projet "Highway" en 2022, consolidant les solutions réseau pour une expérience inter-réseau unifiée et à haute vitesse.

Malgré l'utilisation de la passerelle Dubbo et du protocole HTTP, Zhengcaiyun a rencontré des défis lors de la mise en œuvre du projet "Highway", qui peuvent être résolus par APISIX.

Points de douleur avant l'utilisation d'APISIX

Avant d'adopter la passerelle APISIX, Zhengcaiyun a rencontré plusieurs défis dans son infrastructure, l'incitant à rechercher une solution plus efficace et rationalisée.

Passerelle API

  • Mode I/O : En raison des complexités du réseau, Zhengcaiyun a opté pour l'utilisation d'HTTP comme conduit pour transmettre les données via le tunnel Dubbo-vers-HTTP, qui était ensuite décompressé à la destination. Un inconvénient de cette approche de tunneling était la nécessité de convertir les données de protocole dans ce tunnel, en particulier lors de l'atteinte de la passerelle Dubbo. Certains des composants développés par Zhengcaiyun pourraient ne pas atteindre des performances optimales.

  • Double sérialisation : Lorsqu'il s'agit de double sérialisation, cela implique un objet JavaBeanDescriptor, une API dans Dubbo. Les objets métier ne peuvent pas être directement sérialisés dans les paramètres lors de la sérialisation et de la désérialisation, nécessitant une encapsulation dans le SDK pour convertir les JavaBeans en une structure interne à Dubbo. Après avoir atteint la destination, ce processus est inversé pour assurer une sérialisation et une désérialisation fluides des objets métier dans les paramètres. De plus, il y a une couche supplémentaire de complexité due à l'utilisation de Hessian2 par Dubbo pour la sérialisation. L'utilisation de Hessian2 pour la double sérialisation pourrait introduire un surcoût de performance significatif.

  • Autres extensions métier : La passerelle Dubbo exige certaines extensions métier, non seulement sur la passerelle centrale mais aussi sur la passerelle de cluster locale. De plus, Zhengcaiyun a besoin de certaines fonctionnalités prêtes à être déployées, comme la limitation de débit.

Transmission de protocole

  • Divers clients HTTP peuvent transporter des informations d'en-tête redondantes.

  • Bien qu'HTTP puisse envoyer de nombreuses requêtes de manière continue, il doit attendre qu'une requête revienne avant de procéder à la suivante, ce qui entraîne une faible efficacité de concurrence.

  • Le plan HttpClient utilisé par Zhengcaiyun a adopté une approche d'appel synchrone mono-thread, qui nécessite d'attendre la fin de l'appel avant de procéder aux opérations suivantes. Dans des scénarios à haute concurrence, cette approche est très inefficace. Avec la croissance du volume d'affaires chez Zhengcaiyun, les solutions précédemment utilisées se sont progressivement avérées inadéquates, nécessitant une mise à jour.

Pourquoi APISIX

Zhengcaiyun a décidé de remplacer sa passerelle Dubbo développée en interne par APISIX et a adopté le protocole Dubbo comme protocole de tunneling pour remplacer le protocole HTTP conventionnel.

Étant donné les défis potentiels associés à leur passerelle personnalisée, ils ont préféré ne pas allouer des ressources excessives dans ce domaine. Au lieu de cela, ils ont prévu d'intégrer immédiatement une solution professionnelle pré-construite pour économiser les ressources de développement et améliorer l'efficacité. La décision de choisir APISIX est influencée par les facteurs suivants :

  • Communauté dynamique, code excellent : APISIX bénéficie d'une communauté open-source activement engagée, assurant un standard élevé de qualité de code.

  • Architecture robuste, performance exceptionnelle : Développé sur OpenResty haute performance, APISIX vise à atteindre l'excellence en performance à la fois sur le plan architectural et de conception, répondant aux exigences fondamentales de Zhengcaiyun pour une passerelle.

  • Extensibilité remarquable : APISIX démontre une extensibilité remarquable, s'adaptant aux exigences personnalisées de Zhengcaiyun. Essentiellement, Zhengcaiyun vise à bénéficier d'une performance élevée similaire à NGINX tout en conservant la flexibilité d'étendre les fonctionnalités.

Why APISIX_Dubbo

Réalisations après l'utilisation d'APISIX

Réduction des surcoûts dans le transport des protocoles

Dans un environnement où différents composants peuvent communiquer en utilisant des protocoles variés, les surcoûts engendrés par la conversion des formats de données peuvent être substantiels. Cependant, APISIX a fourni un protocole unifié qui assure la cohérence à travers l'ensemble du pipeline de communication de Zhengcaiyun. Cette stratégie simplifie non seulement le processus d'échange de données de Zhengcaiyun, mais élimine également le besoin de traduction constante entre différents protocoles.

Cadre de communication agile et réactif

Grâce à l'intégration avec APISIX, Zhengcaiyun a établi une transformation directe Dubbo-vers-Dubbo. Cette intégration sert d'optimisation cruciale, réduisant la latence et améliorant les performances globales de l'architecture de l'entreprise. La transformation directe Dubbo-vers-Dubbo minimise les étapes intermédiaires typiquement impliquées dans le processus de sérialisation, fournissant un cadre de communication plus agile et réactif pour Zhengcaiyun.

De plus, en éliminant le besoin de doubles sérialisations, Zhengcaiyun a simplifié le pipeline de transmission de données, réduisant les points de défaillance potentiels et améliorant la fiabilité du système.

Réduction de la latence et maximisation de l'utilisation des ressources

Dans une configuration traditionnelle, chaque requête nécessite généralement une connexion séparée, entraînant des surcoûts potentiels et une latence accrue. Cependant, avec le multiplexage des connexions longues dans APISIX, Zhengcaiyun s'est libéré de cette limitation. En permettant la transmission simultanée de plusieurs requêtes sur une seule connexion persistante, il maximise l'utilisation des ressources et réduit le temps de surcoût associé à l'établissement et à la fermeture des connexions pour chaque requête.

Cette fonctionnalité s'avère particulièrement bénéfique dans les scénarios où de nombreuses petites requêtes sont échangées entre les composants du système de Zhengcaiyun. Le multiplexage des connexions longues optimise le processus de communication, permettant à l'entreprise de gérer et de traiter efficacement plusieurs requêtes simultanément. Le résultat est un système plus agile et réactif capable de gérer des charges de travail accrues avec une efficacité améliorée.

De plus, l'utilisation de connexions longues améliore la stabilité globale du système de Zhengcaiyun en minimisant l'impact des surcoûts d'établissement et de fermeture des connexions.

Établissement d'un cadre d'extension de protocole de couche 4

APISIX a aidé Zhengcaiyun à mettre en œuvre le cadre d'extension de protocole de couche 4 xRPC, permettant aux développeurs de l'entreprise de personnaliser des protocoles spécifiques à l'application. Avec le cadre xRPC, APISIX prend en charge les implémentations de proxy pour divers protocoles d'application majeurs. Les utilisateurs peuvent également introduire leurs protocoles d'application privés basés sur TCP à partir de ce cadre, offrant une précision similaire au proxy de protocole HTTP et un contrôle élevé de la couche 7. En exploitant l'extension xRPC d'APISIX, Zhengcaiyun a effectivement introduit la capacité de transfert direct du protocole Dubbo, assurant une transmission complète du protocole Dubbo.

Résumé

En réponse aux complexités posées par les défis de données inter-réseaux, Zhengcaiyun a pris des mesures proactives en lançant le projet innovant "Highway". Cette initiative stratégique a été marquée par l'utilisation efficace d'APISIX, un mouvement qui a entraîné des améliorations substantielles dans les performances de la passerelle. Au-delà des améliorations de performance, l'intégration d'APISIX a facilité une réduction tangible des coûts associés à la conversion de protocole. De plus, cette initiative a réussi à atteindre une approche rationalisée et consolidée au niveau des middleware, optimisant le traitement des données et la communication au sein de l'infrastructure réseau.

Tags: