Release Notes

🔐 Limites de Conexão HTTP e Proteção contra Sobrecarga


A versão 26 do RUB introduz um sistema avançado de gestão e limitação de conexões simultâneas no servidor HTTP Jetty. Esta melhoria foi desenvolvida para aumentar a estabilidade e a resiliência da plataforma em cenários de alta demanda, evitando que o servidor fique indisponível ou sofra degradação de desempenho quando submetido a picos de tráfego.

O novo mecanismo atua de forma proativa, controlando o número de conexões ativas com base na configuração de threads do servidor. Dessa forma, o RUB consegue manter respostas controladas mesmo sob carga máxima, retornando status HTTP 503 (Service Unavailable) de maneira previsível e sem comprometer o funcionamento interno da aplicação.

Como funciona o controle de conexões

O sistema calcula automaticamente o limite de conexões “normais” com base no parâmetro http.maxThreads. São reservadas 8 threads para o funcionamento interno do Jetty (Acceptors, Selectors e tarefas de housekeeping), garantindo que o servidor nunca esgote completamente seus recursos. Além disso, são mantidos permanentemente 3 slots de conexão reservados exclusivamente para requisições direcionadas a caminhos que iniciam com /debug/, assegurando que ferramentas de diagnóstico e monitoramento continuem acessíveis mesmo em situações de sobrecarga.

Tipos de limitação implementados

Comportamento em caso de limite atingido

Sempre que qualquer um dos limites é atingido, o servidor executa as seguintes ações de forma imediata:

  1. Interrompe o processamento da requisição antes de chegar à camada de negócio;
  2. Retorna o status HTTP 503 (Service Unavailable);
  3. Encerra a conexão de forma limpa.

Essa abordagem evita o acúmulo excessivo de requisições em fila, reduzindo o consumo de memória e mantendo a latência sob controle mesmo em momentos de alta carga.

Parâmetros de configuração

As configurações são realizadas no arquivo config.ini do runtime:

Parâmetro Descrição Padrão
http.maxThreads Número máximo de threads no pool do Jetty 208
http.maxSessionConnections Limite de conexões simultâneas por sessão (Authorization) 0 (ilimitado)
http.maxWebConnections Limite global de conexões para clientes Web (X-Client-Id) 0 (ilimitado)

Benefícios da implementação

Essa funcionalidade representa um avanço importante na capacidade operacional do RUB, tornando a plataforma mais robusta e preparada para ambientes com grande volume de acessos simultâneos.

Disponibilidade

Disponivel no plugin Framework a partir de 18/06/2026