APISIX potencia la plataforma de servicios en la nube para compras gubernamentales
January 31, 2024
Visión general
Acerca de Zhengcaiyun
Fundada por el Departamento de Finanzas de la Provincia de Zhejiang de China y el Grupo Alibaba, Zhengcaiyun se especializa en el diseño de una plataforma de servicios en la nube de vanguardia adaptada para la contratación pública. Construida sobre Internet, su plataforma aprovecha el poder de la computación en la nube y la tecnología de big data, centrando sus esfuerzos en la digitalización y gestión de la contratación pública. La plataforma integra transacciones de contratación pública en línea, procesos de supervisión y ofertas de servicios, permitiendo a sus clientes navegar por una contratación más conveniente, eficiente y transparente.
Desafíos
-
El túnel Dubbo-a-HTTP de Zhengcaiyun introdujo desafíos en la conversión de datos de protocolo, afectando el rendimiento de los componentes internos.
-
La complejidad de la doble serialización en Dubbo, que involucra JavaBeanDescriptor y Hessian2, introdujo un posible sobrecosto de rendimiento para Zhengcaiyun.
-
Las extensiones comerciales de la puerta de enlace Dubbo requerían más esfuerzo en el desarrollo y despliegue debido a las ineficiencias de las llamadas sincrónicas de un solo hilo en el plan HttpClient de Zhengcaiyun.
Resultados
-
La integración de APISIX simplifica la transformación Dubbo-a-Dubbo de Zhengcaiyun, reduciendo la latencia y mejorando el rendimiento general del sistema.
-
Con la ayuda de APISIX, el diseño conciso de Dubbo y las conexiones duraderas resultan en un Tps significativamente mayor que HTTP, minimizando los costos de conexión para Zhengcaiyun.
-
Al adoptar un protocolo unificado, Zhengcaiyun minimiza el sobrecosto, facilitando transmisiones de datos eficientes y ligeras entre componentes.
Antecedentes
Con sede en la provincia de Zhejiang, la plataforma Zhengcaiyun opera como un sistema de red de microservicios autosuficiente, extendiendo servicios a oficinas regionales en varias provincias. Proporciona a los departamentos gubernamentales una plataforma para optimizar la contratación y permite la implementación privada por parte de entidades no gubernamentales como bancos. Para facilitar la transmisión de datos entre redes, Zhengcaiyun inició el proyecto "Highway" en 2022, consolidando soluciones de red para una experiencia unificada y de alta velocidad entre redes.
A pesar de aprovechar la puerta de enlace Dubbo y el protocolo HTTP, Zhengcaiyun enfrentó desafíos durante la implementación del proyecto "Highway", los cuales pueden ser resueltos por APISIX.
Puntos de dolor antes de usar APISIX
Antes de adoptar la puerta de enlace APISIX, Zhengcaiyun enfrentó varios desafíos en su infraestructura, lo que lo llevó a buscar una solución más eficiente y simplificada.
Puerta de enlace API
-
Modo I/O: Debido a las complejidades de la red, Zhengcaiyun optó por usar HTTP como conducto para transmitir datos a través del túnel Dubbo-a-HTTP, que luego se desempaquetaba en el destino. Un inconveniente de este enfoque de túnel fue la necesidad de conversión de datos de protocolo dentro de este túnel, particularmente al llegar a la puerta de enlace Dubbo. Algunos de los componentes desarrollados internamente por Zhengcaiyun podrían no alcanzar un rendimiento óptimo.
-
Doble Serialización: Al tratar con la doble serialización, se involucra un objeto JavaBeanDescriptor, una API en Dubbo. Los objetos comerciales no pueden ser serializados directamente en parámetros durante la serialización y deserialización, requiriendo encapsulación en el SDK para convertir JavaBeans en una estructura interna de Dubbo. Después de llegar al destino, este proceso se invierte para garantizar una serialización y deserialización fluida de los objetos comerciales en los parámetros. Además, hay una capa adicional de complejidad debido al uso de Hessian2 por parte de Dubbo para la serialización. Usar Hessian2 para la doble serialización podría introducir un sobrecosto de rendimiento significativo.
-
Otras Extensiones Comerciales: La puerta de enlace Dubbo exige ciertas extensiones comerciales, no solo en la puerta de enlace central sino también en la puerta de enlace del clúster local. Además, Zhengcaiyun necesita algunas características listas para implementar, como la limitación de tasa.
Transmisión de Protocolo
-
Varios clientes HTTP pueden llevar información de encabezado redundante.
-
Aunque HTTP puede enviar muchas solicitudes continuamente, debe esperar a que una solicitud regrese antes de proceder con la siguiente, lo que resulta en una baja eficiencia de concurrencia.
-
El plan HttpClient utilizado por Zhengcaiyun ha adoptado un enfoque de llamada sincrónica de un solo hilo, que requiere esperar a que la llamada se complete antes de proceder con operaciones posteriores. En escenarios de alta concurrencia, este enfoque es altamente ineficiente. Con el crecimiento del volumen de negocios en Zhengcaiyun, las soluciones previamente utilizadas han demostrado ser gradualmente inadecuadas, necesitando una actualización.
Por qué APISIX
Zhengcaiyun ha decidido reemplazar su puerta de enlace Dubbo desarrollada internamente con APISIX y adoptó el protocolo Dubbo como un protocolo de túnel para reemplazar el protocolo HTTP convencional.
Dados los desafíos potenciales asociados con su puerta de enlace personalizada, prefirieron no asignar recursos excesivos en este dominio. En su lugar, planearon integrar una solución profesional preconstruida inmediatamente para conservar recursos de desarrollo y mejorar la eficiencia. La decisión de elegir APISIX está influenciada por los siguientes factores:
-
Comunidad Vibrante, Código Excelente: APISIX cuenta con una comunidad de código abierto activamente comprometida, asegurando un alto estándar de calidad de código.
-
Arquitectura Robusta, Rendimiento Excepcional: Desarrollado en OpenResty de alto rendimiento, APISIX está diseñado para alcanzar la excelencia en rendimiento desde perspectivas tanto arquitectónicas como de diseño, cumpliendo con los requisitos fundamentales de Zhengcaiyun para la puerta de enlace.
-
Extensibilidad Notable: APISIX demuestra una extensibilidad notable, acomodando los requisitos personalizados de Zhengcaiyun. Esencialmente, Zhengcaiyun apunta a beneficiarse del alto rendimiento similar a NGINX mientras retiene la flexibilidad para extender la funcionalidad.
Logros después de usar APISIX
Reducción del Sobrecosto en la Transmisión de Protocolos
En un entorno donde diferentes componentes pueden comunicarse utilizando protocolos variados, el sobrecosto incurrido por la conversión de formatos de datos puede ser sustancial. Sin embargo, APISIX ha proporcionado un protocolo singular y unificado que asegura consistencia en toda la tubería de comunicación de Zhengcaiyun. Esta estrategia no solo simplifica el proceso de intercambio de datos de Zhengcaiyun, sino que también niega la necesidad de traducción constante entre diferentes protocolos.
Marco de Comunicación Ágil y Responsivo
A través de la integración con APISIX, Zhengcaiyun estableció una transformación directa Dubbo-a-Dubbo. Esta integración sirve como una optimización crucial, reduciendo la latencia y mejorando el rendimiento general de la arquitectura de la empresa. La transformación directa Dubbo-a-Dubbo minimiza los pasos intermedios típicamente involucrados en el proceso de serialización, proporcionando un marco de comunicación más ágil y responsivo para Zhengcaiyun.
Además, al eliminar la necesidad de rondas de doble serialización, Zhengcaiyun ha simplificado la tubería de transmisión de datos, reduciendo puntos potenciales de falla y mejorando la confiabilidad del sistema.
Disminución de la Latencia y Maximización de la Utilización de Recursos
En una configuración tradicional, cada solicitud típicamente requiere una conexión separada, lo que lleva a un potencial sobrecosto y aumento de la latencia. Sin embargo, con la multiplexación de conexión larga en APISIX, Zhengcaiyun ha superado esta limitación. Al permitir la transmisión simultánea de múltiples solicitudes sobre una sola conexión persistente, maximiza la utilización de recursos y reduce el sobrecosto de tiempo asociado con el establecimiento y la terminación de conexiones para cada solicitud.
Esta característica resulta particularmente beneficiosa en escenarios donde se intercambian numerosas solicitudes pequeñas entre componentes dentro del sistema de Zhengcaiyun. La Multiplexación de Conexión Larga optimiza el proceso de comunicación, permitiendo a la empresa gestionar y procesar múltiples solicitudes concurrentemente de manera eficiente. El resultado es un sistema más ágil y responsivo que puede manejar cargas de trabajo aumentadas con eficiencia mejorada.
Además, el uso de conexiones largas mejora la estabilidad general del sistema de Zhengcaiyun al minimizar el impacto del sobrecosto de establecimiento y terminación de conexiones.
Establecimiento del Marco de Extensión de Protocolo de Capa 4
APISIX ha ayudado a Zhengcaiyun a implementar el marco de extensión de protocolo de Capa 4 xRPC, empoderando a los desarrolladores de la empresa para adaptar protocolos específicos de aplicación. Con el marco xRPC, APISIX soporta implementaciones de proxy para varios protocolos de aplicación principales. Los usuarios también pueden introducir sus protocolos de aplicación privados basados en TCP sobre este marco, ofreciendo precisión similar al proxy de protocolo HTTP y control elevado de Capa 7. Al aprovechar la extensión xRPC de APISIX, Zhengcaiyun ha introducido efectivamente la capacidad de reenvío directo del protocolo Dubbo, asegurando una transmisión completa del protocolo Dubbo.
Resumen
En respuesta a las complejidades planteadas por los desafíos de datos entre redes, Zhengcaiyun tomó medidas proactivas lanzando el innovador proyecto "Highway". Este esfuerzo estratégico estuvo marcado por la utilización efectiva de APISIX, un movimiento que produjo mejoras sustanciales en el rendimiento de la puerta de enlace. Más allá de las mejoras de rendimiento, la integración de APISIX facilitó una reducción tangible en los costos asociados con la conversión de protocolos. Además, esta iniciativa logró con éxito un enfoque consolidado y simplificado a nivel de middleware, optimizando el procesamiento de datos y la comunicación dentro de la infraestructura de red.