APISIX Capacita Operações e Controle de Tráfego na Interação Humano-Máquina

Jing Yan

Jing Yan

December 16, 2022

Case Study

Visão Geral

Sobre a CVTE e a Seewo

CVTE é uma líder global em tecnologia LCD (Liquid Crystal Display), especializada em placas principais de LCD, painéis interativos inteligentes, dispositivos médicos e hardware inteligente relacionado. Fundada em 2005, detém uma participação de 31% no mercado de placas principais de TVs LCD. Essa expertise resultou no estabelecimento de várias marcas importantes do setor, incluindo a Seewo, fornecedora de ferramentas e serviços educacionais digitais, e a MAXHUB, uma sofisticada plataforma de colaboração inteligente, que têm capacitado a colaboração educacional e a comunicação corporativa.

Com mais de 6.500 funcionários, os painéis interativos planos da Seewo da CVTE estão presentes em 1 milhão de salas de aula em todo o mundo. Com expertise em drivers de exibição, processamento de sinais, gerenciamento de energia, interação homem-máquina, desenvolvimento de aplicativos e integração de sistemas, a empresa está dedicada a aprimorar as experiências de comunicação em eletrônicos de consumo e comerciais por meio de inovação tecnológica contínua.

Desafios

  • A rápida expansão dos negócios frequentemente desencadeou recarregamentos na arquitetura de gateway de duas camadas da Seewo, impactando o desempenho e a estabilidade do sistema e levando a uma experiência do usuário abaixo do ideal.
  • O gateway da Seewo encontrou dificuldades em coordenar eficientemente o controle de tráfego, resultando em eficiência operacional reduzida e capacidades limitadas de controle de tráfego.
  • O gateway da Seewo deve gerenciar muitos domínios com várias necessidades de configuração personalizadas, exigindo gerenciamento meticuloso e controle personalizado.

Resultados

  • APISIX fornece um método de atualização de configuração mais flexível e contínuo, permitindo que a Seewo atualize rotas e certificados conforme necessário, melhorando a eficiência operacional e a estabilidade do sistema.
  • Após a implementação do APISIX, a Seewo fortaleceu suas capacidades de circuit-breaker e limitação de taxa, o que melhorou o controle de tráfego e solidificou ainda mais seus processos de negócios principais.
  • A robusta escalabilidade do gateway APISIX e o desempenho excepcional dos plugins capacitaram a Seewo a desenvolver plugins personalizados, estendendo a funcionalidade do gateway para atender às crescentes demandas dos negócios.

Contexto

O Gateway da Seewo evoluiu através de várias iterações, mostrando uma jornada marcada por constante inovação tecnológica e dedicação persistente da equipe. Com cada lançamento, buscamos aprimorar e otimizar a versão anterior, oferecendo aos usuários uma experiência de rede não apenas mais eficiente e estável, mas também repleta de recursos mais ricos.

  • Gateway de primeira geração: O gateway inicial da Seewo foi construído usando OpenResty e NGINX com uma configuração estática. No entanto, ele dependia do Secure Copy (SCP) para implantações, necessitando de assistência operacional para garantir lançamentos suaves.

  • Gateway de segunda geração: O sistema de segunda geração introduziu melhorias ao integrar o módulo upsync com OpenResty e incorporar o Consul para descoberta de serviços. Esta versão capacitou os desenvolvedores a liberar atualizações de forma independente, embora o suporte operacional ainda fosse essencial para escalabilidade.

  • Gateway de terceira geração: O sistema de terceira geração da Seewo foi desenvolvido no Kubernetes (K8s). Embora esta adaptação tenha resolvido os desafios anteriores de implantação e escalabilidade, introduziu novas complexidades. Reconhecendo que alguns aplicativos ainda residiam na máquina host, a arquitetura do gateway incorporou o Ingress NGINX no K8s como a segunda camada, mantendo o OpenResty como o gateway de primeira camada. No entanto, essa abordagem, embora tenha melhorado a escalabilidade, levou a interrupções durante mudanças de roteamento, afetando aplicativos com conexões persistentes.

Diagrama de Topologia de Tráfego do Gateway

O rápido crescimento dos negócios da Seewo elevou o padrão de estabilidade geral. A adoção dessa estrutura de gateway de duas camadas traz um problema – qualquer ajuste, seja o recarregamento do NGINX da primeira camada ou modificações no roteamento do gateway da segunda camada, pode levar à interrupção de conexões de longa duração. Isso pode representar um problema substancial, especialmente em cenários onde a manutenção de conexões ininterruptas é crítica. Por exemplo, imagine uma situação onde o software da Seewo está no meio da recuperação do status de ensino de um professor, e de repente, a conexão é interrompida. Essa interrupção não apenas perturba o processo de recuperação do status, mas também tem um impacto direto na qualidade da experiência de ensino.

Desvantagens Antes de Usar o APISIX

  • Recarregamento Demorado na Arquitetura de Duas Camadas: Em uma estrutura de gateway de duas camadas, fazer até mesmo pequenos ajustes, como adicionar domínios, modificações de configuração ou implementar regras especiais, exige um recarregamento demorado do NGINX. Esse processo pode ser incômodo e impacta a eficiência operacional da Seewo.

  • Controle de Tráfego e Troca Ingerenciáveis: Abordar questões complexas de controle de tráfego na arquitetura da Seewo, atendendo a mais de 10 milhões de usuários, exige uma perspectiva holística. A Seewo enfrentou um desafio significativo em coordenar componentes para o controle de tráfego, considerando a base de usuários expansiva. Em questões do lado do cliente, a Seewo encontrou um risco de perturbar as operações do lado do servidor e falhas em cascata. A falta de um controle robusto de tráfego no nível do gateway piorou ainda mais o impacto nos sistemas de backend da Seewo. Além disso, desafios persistentes na interação entre o NGINX e o gateway Ingress têm representado obstáculos para a futura troca de tráfego da Seewo, exigindo resolução imediata para uma operação de infraestrutura contínua.

  • Sobrecarga de Domínios e Personalização: As operações da Seewo envolviam o gerenciamento de mais de 700 domínios, cada um acompanhado por uma miríade de configurações personalizadas, incluindo redirecionamentos, listas de negação e listas de permissão. Adaptar essas configurações aos plugins do APISIX introduziu uma complexidade significativa.

  • DNS de Duas Camadas Complicado: A Seewo enfrentou um obstáculo com sua arquitetura de DNS de duas camadas, representando inconvenientes em termos de procedimentos de rollback. Ao mesmo tempo, faltava a otimização necessária para chamadas de rede internas eficientes dentro da infraestrutura.

Em resposta a esses desafios e para melhorar a eficiência operacional, a Seewo tomou a decisão estratégica de adotar a solução de gateway APISIX.

Soluções ao Migrar para o APISIX

Otimizando a Geração de Rotas e a Arquitetura do APISIX

Nos estágios iniciais do processo de migração, a Seewo estrategicamente elaborou rotas do APISIX, uma jogada crucial destinada a aprimorar a funcionalidade do sistema. Essa decisão envolveu a simplificação da arquitetura existente ao eliminar uma camada adicional de funções específicas como "rewrite" e "set-header". Essas funções foram integradas de forma contínua ao Ingress da segunda camada, contribuindo para uma estrutura geral mais eficiente e simplificada. Notavelmente, a Seewo incorporou de forma contínua os plugins do APISIX na configuração do NGINX, enfatizando ainda mais as capacidades versáteis e de integração contínua do APISIX.

Validando o Encaminhamento de Rotas e Avaliando o Desempenho

Após gerar as rotas, a Seewo voltou sua atenção para a tarefa de validar todo o processo de encaminhamento, reconhecendo o papel crucial do APISIX. Empregando a ferramenta goreplay para gravação e reprodução, a Seewo garantiu a precisão do encaminhamento de rotas – um testemunho da função integral do APISIX em manter a precisão. Testes automatizados rigorosos foram então aplicados para examinar a funcionalidade dos plugins do APISIX, garantindo sua operação contínua. Com a funcionalidade confirmada, a Seewo estrategicamente mudou o foco para avaliar o quão bem o APISIX se alinhava com seus requisitos internos de desempenho. Para facilitar essa avaliação, o plugin elastic-apm foi introduzido, e plugins específicos que influenciavam o QPS foram otimizados, destacando as capacidades versáteis do APISIX em aprimorar tanto o desempenho quanto a funcionalidade durante todo o processo.

Simplificando a Troca de Tráfego para Rollbacks Contínuos

A migração do gateway encontrou seu maior obstáculo durante a troca de tráfego, impactando diretamente a qualidade da produção. Apesar de aproveitar o goreplay para gravação e reprodução de tráfego, a necessidade de uma solução confiável de rollback tomou o centro do palco. Diante de anomalias, como problemas de encaminhamento ou falhas do APISIX resultantes da troca de tráfego, a Seewo necessitou de um mecanismo de rollback rápido e confiável.

Para enfrentar esse desafio, a Seewo estrategicamente iniciou a transição do tráfego da rede pública, destacando o papel crucial do APISIX. Essa manobra estratégica capacitou a Seewo a modificar eficientemente os endereços de origem durante a transição, garantindo um rollback de tráfego rápido em situações excepcionais. Todo o processo de troca de tráfego em circunstâncias extraordinárias poderia ser executado de forma contínua em segundos, mostrando assim a função instrumental do APISIX em facilitar uma transição rápida e ininterrupta.

Troca de Tráfego

Superando Desafios de SSL e Correspondência de Rotas com a Implantação do APISIX

Quando a Seewo implementou o APISIX pela primeira vez, encontrou desafios relacionados ao handshake SSL. Por exemplo, em sistemas mais antigos ou bibliotecas OpenSSL, os ssl_ciphers não se intersectam com os valores padrão do servidor, resultando em handshakes SSL falhos. No entanto, a equipe do APISIX abordou ativamente esses problemas. Enquanto navegava pelos obstáculos de compatibilidade no sistema antigo da Seewo e atualizava versões, a Seewo colaborou de perto com a equipe do APISIX para encontrar soluções eficazes, recomendando verificar a interseção do handshake SSL antes da implantação para uma migração contínua.

Enquanto isso, a atualização para a versão 2.15 LTS do APISIX introduziu alguns novos desafios, particularmente na correspondência de rotas. Apesar de enfrentar problemas, a equipe do APISIX respondeu rapidamente e os resolveu em seu branch master. É essencial enfatizar que, apesar desses desafios, o APISIX tem fornecido suporte robusto de forma proativa. Essa colaboração vai além do âmbito técnico, representando uma jornada compartilhada em direção ao desenvolvimento positivo dos negócios.

Conquistas Após Usar o APISIX

Eficiência Operacional Otimizada

Após a integração contínua do APISIX em sua estrutura operacional, a Seewo alcançou um marco notável ao erradicar completamente os desafios associados aos recarregamentos. Essa conquista capacitou significativamente a Seewo, permitindo que ela execute atualizações de rotas e certificados com facilidade notável, resultando em um fluxo de trabalho mais eficiente e simplificado para sua equipe de desenvolvedores.

Proficiência Elevada no Gerenciamento de Tráfego

Graças à notável extensibilidade do APISIX e ao desempenho excepcional dos plugins, a integração do APISIX na infraestrutura da Seewo elevou significativamente suas capacidades de circuit-breaker e limitação de taxa. Essa implementação estratégica não apenas aprimora a capacidade da Seewo de gerenciar e controlar o tráfego de forma eficaz, mas também catalisa um reforço substancial em seus processos de negócios principais. As forças inerentes do APISIX contribuem para a resiliência geral das operações da Seewo, garantindo uma entrega de serviço mais suave e confiável. Aproveitando a robusta extensibilidade do APISIX, a Seewo se engaja proativamente no desenvolvimento de plugins para ampliar ainda mais suas capacidades e atender às necessidades em evolução.

Desenvolvimento de Plugins Personalizados para Aprimoramento do Gateway

A Seewo aproveitou as capacidades do APISIX, que possui extensibilidade e desempenho confiável de plugins, para se engajar no desenvolvimento de plugins personalizados. Um exemplo notável é sua integração contínua de recursos de autenticação unificada no APISIX, eliminando efetivamente a necessidade de sistemas de autenticação separados ao integrar novos serviços. Essa abordagem simplificada acelerou significativamente o processo de iteração de produtos da Seewo, permitindo que a empresa se adapte mais rapidamente às mudanças de requisitos e demandas do mercado em evolução, promovendo assim uma estrutura operacional mais ágil e responsiva.

Arquitetura Eficiente para Redução de Custos

Os avanços da Seewo em economia de custos e eficiência operacional foram impulsionados pela eliminação da camada redundante do NGINX. Em sua estrutura anterior de gateway de duas camadas, os desenvolvedores enfrentavam opacidade com a camada inicial do NGINX. No entanto, a fusão das duas camadas de gateway em uma não apenas eliminou a redundância, mas também concedeu aos desenvolvedores uma visão transparente das configurações arquitetônicas, abrangendo rotas, plugins e mais. Essa integração harmoniosa não apenas simplificou a solução de problemas e a resolução de questões, mas também destacou o papel instrumental do APISIX em promover clareza e eficiência dentro da infraestrutura da Seewo.

Resumo

Desde a implementação do APISIX, a Seewo elevou significativamente a eficiência operacional e as capacidades de controle de tráfego. Simultaneamente, o fortalecimento das funcionalidades do gateway também acelerou seu processo de iteração de produtos, resultando em maior eficiência geral de trabalho e redução de custos. Ao longo dessa jornada, a Seewo contribuiu ativamente para a comunidade, enviando um total de 8 pull requests para abordar e aprimorar várias questões relacionadas aos plugins do ecossistema. Essas contribuições incluem o refinamento do suporte para URIs personalizados no recurso batch_request e a implementação da validação do corpo da solicitação para o plugin hmac-auth. Olhando para o futuro, a Seewo pretende aproveitar e explorar totalmente os recursos do APISIX em nossas práticas contínuas, antecipando a introdução de mais funcionalidades colaborativas no futuro.

Tags: