O que há de novo no API7 Enterprise 3.2.12: Suporte a Stream Routes
May 24, 2024
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.
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
.
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.
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.
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.
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:
-
ip-restriction
: Fornece capacidades de controle de acesso por IP. -
limit-conn
: Este plugin pode limitar o número de solicitações simultâneas de clientes para um único serviço. -
prometheus
: Fornece capacidades de monitoramento e alerta do sistema para rotas de fluxo. -
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.