O que há de novo no API7 Enterprise 3.2.12: Suporte a Stream Routes

Zhihuang Lin

Zhihuang Lin

May 24, 2024

Products

Na API7 Enterprise 3.2.12, foi introduzido o suporte para rotas de fluxo (stream routes), permitindo o proxy e balanceamento de carga de tráfego de protocolos TCP/UDP.

Ao configurar rotas de fluxo, a API7 Enterprise pode atuar como proxy para serviços como MySQL e MongoDB baseados no protocolo TCP. Ela também pode atuar como proxy para aplicações como Redis, que podem ser configuradas com protocolos TCP ou UDP. Isso permite o gerenciamento e otimização eficazes do tráfego de rede TCP/UDP.

Como Usar Rotas de Fluxo na API7 Enterprise?

Adicionando Serviço de Fluxo

Ao adicionar manualmente um serviço, foi incluída uma opção para seleção do tipo de serviço, suportando dois tipos: HTTP e Fluxo (Stream), representando proxy de camada 7 e camada 4, respectivamente. Se o tipo de serviço for selecionado como Stream, o esquema de upstream pode ser escolhido como TCP ou UDP. É importante observar que, uma vez selecionado o tipo de serviço, ele não pode ser alterado, portanto, certifique-se de escolher o tipo correto.

Adicionar Tipo de Serviço de Fluxo

Adicionando Rotas de Fluxo

Após criar com sucesso um serviço do tipo Stream, você será direcionado para a página de detalhes do serviço. O próximo passo é adicionar rotas clicando no botão Adicionar Rota de Fluxo.

Adicionar Rotas de Fluxo para Serviços

Preencha o nome da rota, a descrição e as configurações relevantes da rota no formulário. Aqui, configuramos uma rota para atuar como proxy para o serviço MySQL.

Detalhes da Adição de Rotas de Fluxo

Em comparação com as configurações de rotas HTTP regulares, as rotas de fluxo têm três opções de configuração diferentes.

  • Endereço do Servidor: Este é o endereço onde o servidor do gateway recebe conexões de rotas de fluxo, servindo como a entrada do tráfego de rotas de fluxo no gateway. Quando os clientes buscam estabelecer conexões, eles enviam solicitações para este endereço, e o gateway encaminha ou trata essas solicitações com base nas regras de roteamento predefinidas.

  • Porta do Servidor: É usada para especificar a porta na qual o servidor do gateway escuta o tráfego.

  • Endereço Remoto: É o endereço do cliente que inicia a solicitação. Apenas solicitações enviadas de endereços de clientes que correspondem ao endereço remoto podem ser encaminhadas, permitindo o gerenciamento de tráfego para clientes específicos.

Após criar a rota com sucesso, podemos ver a nova rota MySQL adicionada na lista.

Rotas MySQL Adicionadas

Configurando Nós de Upstream e Publicando o Serviço

Em seguida, publicaremos o serviço no grupo de gateway e adicionaremos um nó de upstream correspondente ao serviço MySQL.

Adicionar Nó para Serviço MySQL

Após a publicação do serviço, quando o servidor do gateway em 127.0.0.10 e porta 9101 receber uma solicitação, esta rota será responsável por tratar a solicitação e encaminhá-la para o serviço MySQL upstream.

Além do recurso básico de encaminhamento de solicitações, após a publicação do serviço, o desempenho e a segurança do serviço podem ser aprimorados por meio de uma série de configurações. Por exemplo, estratégias de balanceamento de carga podem ser configuradas para rotas de fluxo, garantindo que o tráfego seja distribuído uniformemente entre vários servidores MySQL upstream, melhorando assim a escalabilidade e a tolerância a falhas do sistema.

Além disso, mecanismos de verificação de saúde podem ser configurados para monitorar periodicamente o status dos servidores upstream, garantindo que apenas servidores saudáveis recebam e encaminhem solicitações, evitando interrupções de serviço devido a falhas de servidores.

Plugins Suportados

Atualmente, há quatro plugins suportados para rotas de fluxo:

  1. ip-restriction: Fornece capacidades de controle de acesso por IP.

  2. limit-conn: Este plugin pode limitar o número de solicitações simultâneas de clientes para um único serviço.

  3. prometheus: Fornece capacidades de monitoramento e alerta do sistema para rotas de fluxo.

  4. syslog: Registra e envia logs do sistema.

Esses quatro plugins, em conjunto, aprimoram a segurança, estabilidade, monitoramento e capacidade de manutenção das rotas de fluxo.

Conclusão

As rotas de fluxo na API7 Enterprise 3.2.12 oferecem aos usuários um gerenciamento de tráfego de protocolos TCP/UDP mais robusto e flexível, contribuindo para melhorar a confiabilidade e escalabilidade das aplicações. Elas trazem um gerenciamento aprimorado do tráfego de rede, maior confiabilidade e eficiência operacional do sistema, e uma melhor adaptabilidade para os negócios dos usuários empresariais, sendo valiosas para suportar a operação de aplicações críticas das empresas.

Tags: