APISIX capacita plataforma de serviços em nuvem para compras governamentais
January 31, 2024
Visão Geral
Sobre o Zhengcaiyun
Fundado pelo Departamento de Finanças da Província de Zhejiang, na China, e pelo Grupo Alibaba, o Zhengcaiyun é especializado no design de uma plataforma de serviços em nuvem de ponta, personalizada para compras governamentais. Construída sobre a Internet, a plataforma aproveita o poder da computação em nuvem e da tecnologia de big data, concentrando seus esforços na digitalização e gestão de compras governamentais. A plataforma integra transações de compras governamentais online, processos de supervisão e ofertas de serviços, capacitando seus clientes a navegar por compras mais convenientes, eficientes e transparentes.
Desafios
-
O túnel Dubbo-to-HTTP do Zhengcaiyun introduziu desafios na conversão de dados de protocolo, impactando o desempenho dos componentes internos.
-
A complexidade da dupla serialização no Dubbo, envolvendo JavaBeanDescriptor e Hessian2, introduziu uma possível sobrecarga de desempenho no Zhengcaiyun.
-
As extensões de negócios do gateway Dubbo exigiam mais esforço no desenvolvimento e implantação devido à ineficiência das chamadas síncronas de thread única no plano HttpClient do Zhengcaiyun.
Resultados
-
A integração do APISIX simplifica a transformação Dubbo-to-Dubbo do Zhengcaiyun, reduzindo a latência e melhorando o desempenho geral do sistema.
-
Com a ajuda do APISIX, o design conciso do Dubbo e as conexões de longa duração resultam em um Tps significativamente maior do que o HTTP, minimizando os custos de conexão para o Zhengcaiyun.
-
Ao adotar um protocolo unificado, o Zhengcaiyun minimiza a sobrecarga, facilitando transmissões de dados eficientes e leves entre os componentes.
Contexto
Com base na província de Zhejiang, a plataforma Zhengcaiyun opera como um sistema de rede de microsserviços autossuficiente, estendendo serviços para filiais em várias províncias. Ela fornece aos departamentos governamentais uma plataforma para otimizar as compras e permite a implantação privada por entidades não governamentais, como bancos. Para facilitar a transmissão de dados entre redes, o Zhengcaiyun iniciou o projeto "Highway" em 2022, consolidando soluções de rede para uma experiência unificada e de alta velocidade entre redes.
Apesar de utilizar o gateway Dubbo e o protocolo HTTP, o Zhengcaiyun enfrentou desafios durante a implementação do projeto "Highway", que podem ser resolvidos pelo APISIX.
Pontos de Dificuldade Antes de Usar o APISIX
Antes de adotar o APISIX Gateway, o Zhengcaiyun enfrentou vários desafios em sua infraestrutura, levando-o a buscar uma solução mais eficiente e simplificada.
Gateway de API
-
Modo I/O: Devido às complexidades da rede, o Zhengcaiyun optou por usar o HTTP como o condutor para transmitir dados através do túnel Dubbo-to-HTTP, que era posteriormente desempacotado no destino. Uma desvantagem dessa abordagem de tunelamento era a necessidade de conversão de dados de protocolo dentro desse túnel, especialmente ao chegar ao gateway Dubbo. Alguns dos componentes desenvolvidos internamente pelo Zhengcaiyun podem não atingir o desempenho ideal.
-
Dupla Serialização: Ao lidar com a dupla serialização, envolve-se um objeto JavaBeanDescriptor, uma API no Dubbo. Objetos de negócios não podem ser diretamente serializados em parâmetros durante a serialização e desserialização, exigindo encapsulamento no SDK para converter JavaBeans em uma estrutura interna do Dubbo. Após chegar ao destino, esse processo é revertido para garantir a serialização e desserialização suave dos objetos de negócios nos parâmetros. Além disso, há uma camada adicional de complexidade devido ao uso do Hessian2 pelo Dubbo para serialização. Usar o Hessian2 para dupla serialização pode introduzir uma sobrecarga significativa de desempenho.
-
Outras Extensões de Negócios: O gateway Dubbo exige certas extensões de negócios, não apenas no gateway central, mas também no gateway de cluster local. Além disso, o Zhengcaiyun precisa de alguns recursos prontamente implantáveis, como limitação de taxa.
Transmissão de Protocolo
-
Vários clientes HTTP podem carregar algumas informações de cabeçalho redundantes.
-
Embora o HTTP possa enviar muitas solicitações continuamente, ele deve esperar que uma solicitação retorne antes de prosseguir com a próxima, resultando em baixa eficiência de concorrência.
-
O plano HttpClient utilizado pelo Zhengcaiyun adotou uma abordagem de chamada síncrona de thread única, que exige esperar que a chamada seja concluída antes de prosseguir com operações subsequentes. Em cenários de alta concorrência, essa abordagem é altamente ineficiente. Com o crescimento do volume de negócios no Zhengcaiyun, as soluções anteriormente utilizadas provaram-se gradualmente inadequadas, necessitando de uma atualização.
Por Que o APISIX
O Zhengcaiyun decidiu substituir seu gateway Dubbo desenvolvido internamente pelo APISIX e adotou o protocolo Dubbo como um protocolo de tunelamento para substituir o protocolo HTTP convencional.
Dados os desafios potenciais associados ao seu gateway personalizado, eles preferiram não alocar recursos excessivos nesse domínio. Em vez disso, planejaram integrar uma solução profissional pré-construída imediatamente para conservar recursos de desenvolvimento e aumentar a eficiência. A decisão de escolher o APISIX é influenciada pelos seguintes fatores:
-
Comunidade Vibrante, Código Excelente: O APISIX possui uma comunidade de código aberto ativamente engajada, garantindo um alto padrão de qualidade de código.
-
Arquitetura Robusta, Desempenho Excepcional: Desenvolvido no OpenResty de alto desempenho, o APISIX visa alcançar a excelência de desempenho tanto da perspectiva arquitetônica quanto de design, atendendo aos requisitos fundamentais do Zhengcaiyun para o gateway.
-
Extensibilidade Notável: O APISIX demonstra uma extensibilidade notável, acomodando os requisitos personalizados do Zhengcaiyun. Essencialmente, o Zhengcaiyun visa se beneficiar do alto desempenho semelhante ao NGINX, mantendo a flexibilidade para estender a funcionalidade.
Conquistas Após Usar o APISIX
Redução da Sobrecarga no Transporte de Protocolos
Em um ambiente onde diferentes componentes podem se comunicar usando protocolos variados, a sobrecarga incorrida pela conversão de formatos de dados pode ser substancial. No entanto, o APISIX forneceu um protocolo singular e unificado que garante consistência em todo o pipeline de comunicação do Zhengcaiyun. Essa estratégia não apenas simplifica o processo de troca de dados do Zhengcaiyun, mas também elimina a necessidade de tradução constante entre diferentes protocolos.
Estrutura de Comunicação Ágil e Responsiva
Através da integração com o APISIX, o Zhengcaiyun estabeleceu uma transformação direta Dubbo-to-Dubbo. Essa integração serve como uma otimização crucial, reduzindo a latência e melhorando o desempenho geral da arquitetura da empresa. A transformação direta Dubbo-to-Dubbo minimiza as etapas intermediárias tipicamente envolvidas no processo de serialização, fornecendo uma estrutura de comunicação mais ágil e responsiva para o Zhengcaiyun.
Além disso, ao eliminar a necessidade de rodadas de dupla serialização, o Zhengcaiyun simplificou o pipeline de transmissão de dados, reduzindo pontos potenciais de falha e aumentando a confiabilidade do sistema.
Diminuição da Latência e Maximização da Utilização de Recursos
Em uma configuração tradicional, cada solicitação geralmente requer uma conexão separada, levando a uma possível sobrecarga e aumento da latência. No entanto, com a multiplexação de conexão longa no APISIX, o Zhengcaiyun superou essa limitação. Ao permitir a transmissão simultânea de várias solicitações por uma única conexão persistente, ele maximiza a utilização de recursos e reduz o tempo de sobrecarga associado ao estabelecimento e encerramento de conexões para cada solicitação.
Esse recurso é particularmente benéfico em cenários onde numerosas pequenas solicitações são trocadas entre os componentes do sistema do Zhengcaiyun. A Multiplexação de Conexão Longa otimiza o processo de comunicação, permitindo que a empresa gerencie e processe várias solicitações simultaneamente com eficiência. O resultado é um sistema mais ágil e responsivo que pode lidar com cargas de trabalho aumentadas com eficiência aprimorada.
Além disso, o uso de conexões longas aumenta a estabilidade geral do sistema do Zhengcaiyun, minimizando o impacto da sobrecarga de estabelecimento e encerramento de conexões.
Estabelecimento de um Framework de Extensão de Protocolo de Camada 4
O APISIX ajudou o Zhengcaiyun a implementar o framework de extensão de protocolo de Camada 4 xRPC, capacitando os desenvolvedores da empresa a personalizar protocolos específicos de aplicativos. Com o framework xRPC, o APISIX suporta implementações de proxy para vários protocolos de aplicativos principais. Os usuários também podem introduzir seus protocolos de aplicativos privados baseados em TCP com base nesse framework, oferecendo precisão semelhante ao proxy de protocolo HTTP e controle elevado de Camada 7. Ao aproveitar a extensão xRPC do APISIX, o Zhengcaiyun efetivamente introduziu a capacidade de encaminhamento direto do protocolo Dubbo, garantindo a transmissão abrangente do protocolo Dubbo.
Resumo
Em resposta às complexidades apresentadas pelos desafios de dados entre redes, o Zhengcaiyun tomou medidas proativas ao lançar o inovador projeto "Highway". Esse esforço estratégico foi marcado pela utilização eficaz do APISIX, uma movimentação que resultou em melhorias substanciais no desempenho do gateway. Além das melhorias de desempenho, a integração do APISIX facilitou uma redução tangível nos custos associados à conversão de protocolos. Além disso, essa iniciativa alcançou com sucesso uma abordagem consolidada e simplificada no nível de middleware, otimizando o processamento de dados e a comunicação dentro da infraestrutura de rede.