Capacidade

Traffic Shaping e QoS por vService

Aplique limites de largura de banda por vService, por usuário ou compartilhados e distribua capacidade de tráfego de forma controlada na camada de aplicação.

O Traffic Shaping e QoS por vService do TR7 permite gerenciar a capacidade de tráfego não apenas por contagem de conexões ou taxa de requisições, mas pelo consumo real de largura de banda. Tetos separados de largura de banda de upload e download podem ser definidos para cada vService. O recurso suporta três modelos de uso: um limite separado por conexão, um limite vinculado a um identificador de usuário, IP ou tenant, e um limite compartilhado em um par de alta disponibilidade. Isso impede que um único tenant, um único IP ou uma única transferência pesada consuma toda a capacidade do serviço. O traffic shaping aqui não é uma arquitetura de fila complexa no nível de rede — é um teto de capacidade aplicado no nível de conexão e fluxo. Os operadores podem rapidamente estabelecer políticas de largura de banda para um vService, tenant, usuário ou grupo de tráfego suspeito. O resultado: o TR7 remove o gerenciamento de largura de banda do domínio de appliances de rede separados e sintonia complexa de sistema, transformando-o em controle de tráfego condicional, auditável e no nível de serviço correndo diretamente no ADC.

3
Modos de limite: stream, por chave, compartilhado
100K
Máximo de chaves rastreadas no modo por chave
100ms
Frequência de sincronização entre nós no modo compartilhado

Quando a largura de banda não tem limite, um único tenant ou um único fluxo pesado pode afetar todo o serviço.

Em aplicações modernas, os problemas de capacidade não são medidos apenas por contagem de requisições. Downloads grandes de arquivos, streaming de vídeo, exportações de API, tráfego de backup ou extração em massa de dados por bots podem consumir alta largura de banda mesmo em taxas baixas de requisições. Nesses casos, um limite de taxa de requisições por si só não é suficiente.

Em ambientes multi-tenant o problema fica mais visível. Quando um tenant executa uma transferência pesada de dados, a latência para outros tenants pode aumentar. Sem um limite de capacidade entre clientes que compartilham o mesmo vService, uma política de uso justo não pode ser tecnicamente aplicada.

O traffic shaping convencional tipicamente requer estruturas complexas de fila e classe no nível de rede. Esse modelo é poderoso, mas trabalhar diretamente com sinais L7 como path, tenant, usuário, claims JWT ou IP de origem na camada de entrega de aplicação é difícil. O debug e o gerenciamento de mudanças para equipes de operações também ficam mais pesados.

A abordagem correta é aplicar um teto de largura de banda baseado em conexão e chave no nível do ADC. Limites diferentes devem ser definíveis para um vService, usuário, tenant ou grupo de tráfego suspeito, e as direções de upload e download devem ser gerenciáveis independentemente.

O Traffic Shaping e QoS por vService do TR7 controla o consumo de largura de banda na camada de entrega de aplicação com os modos stream, por chave e compartilhado.

Nossa abordagem

O TR7 aplica controle de largura de banda como uma política de três modos em vService, chave de tráfego e compartilhamento em alta disponibilidade.

Tetos de upload e download são aplicados por vService

O tráfego de upload de clientes para o backend e o tráfego de download do backend para clientes podem ser limitados separadamente para cada vService. Isso coloca a capacidade da aplicação sob controle no nível de serviço.

O modo stream dá a cada conexão seu próprio limite

No modo stream, cada conexão opera sob seu próprio teto de largura de banda. O consumo de recursos de uma única conexão pode ser limitado em downloads, uploads ou streams de longa duração no estilo WebSocket.

O modo por chave aplica cotas por usuário, IP ou tenant

No modo por chave, o limite é aplicado de acordo com uma chave produzida por uma expressão FX. IP de origem, usuário, ID de tenant ou um valor de claim JWT podem todos servir como chave de largura de banda.

O modo compartilhado fornece um orçamento de capacidade comum em todo o cluster

No modo compartilhado, o orçamento de largura de banda em uma configuração de dois nós não está confinado a um único dispositivo. Um limite total para o mesmo tenant ou serviço pode ser aplicado de forma mais consistente no nível do cluster.

Capacidades

O traffic shaping transforma limites de largura de banda por conexão, por chave e compartilhados em uma política no nível de vService.

Três modos de limite cobrem diferentes cenários de controle de capacidade

O modo stream aplica um teto separado a cada conexão. O modo por chave aplica um limite compartilhado em um IP, usuário, tenant ou qualquer outra chave FX. O modo compartilhado ajuda o mesmo limite a ser distribuído entre nós em uma configuração de alta disponibilidade. Um único recurso cobre, portanto, limitação simples de conexão, gerenciamento de cota de tenant e controle de capacidade compartilhada em todo o cluster.

Os limites de upload e download são definidos independentemente

Em alguns serviços o tráfego de download é dominante; em outros, o upload consome capacidade crítica. O TR7 pode limitar a direção de upload de clientes para o backend e a direção de download do backend para clientes separadamente. Por exemplo, o upload pode ser mais controlado em um serviço de upload de arquivos enquanto o download é mais restrito em um serviço de vídeo. Essa separação alinha a política de largura de banda com o comportamento real do tráfego.

O construtor de chaves FX produz limites por tenant e por usuário

No modo por chave, a chave de largura de banda é construída usando o mecanismo de expressões FX. IP de origem, informações de usuário JWT, ID de tenant, um valor de header ou qualquer combinação desses pode servir como chave. Por exemplo, todos os usuários pertencentes ao mesmo tenant podem compartilhar um teto de capacidade comum. Esse é um mecanismo poderoso para aplicação de uso justo em modelos SaaS multi-tenant.

A tabela por chave pode rastrear grandes números de usuários ou tenants

No modo por chave, cada chave é rastreada como um estado de uso separado. Chaves que ficaram silenciosas por um período definido são removidas; chaves ativas permanecem sujeitas à política de limite. Esse modelo fornece controle de capacidade centralizado para milhares de usuários ou tenants. O operador aplica limites contra um proprietário lógico de tráfego em vez de conexões individuais.

O modo compartilhado preserva o limite total em um par de alta disponibilidade

Em configurações ativo-ativo ou ativo-passivo, o tráfego pode ser distribuído entre dois nós. O modo compartilhado ajuda o orçamento de largura de banda a ser aplicado como um comportamento de serviço compartilhado em vez de estar confinado a um único nó. Quando um tenant se move de um nó para o outro, a lógica de limite não é perturbada. Isso é particularmente importante para SLA empresarial e cenários de cota.

A aplicação condicional separa o tráfego premium do padrão

As regras de traffic shaping podem operar condicionalmente. Um tenant premium pode ser ilimitado, um tenant gratuito limitado a 100 Kbps e um IP suspeito restrito a 1 Mbps. As condições podem ser construídas a partir de path, usuário, header, claim JWT, IP de origem ou qualquer expressão FX. A política de largura de banda não é mais uma única configuração global.

Múltiplas regras de limite podem ser definidas dentro de um vService e pool

Diferentes fatias de tráfego dentro do mesmo vService podem ter diferentes regras de limite. Por exemplo, o path `/download` pode ter seu próprio limite, `/api/export` outro e chamadas de API padrão ainda outro. Isso divide o controle de capacidade em segmentos alinhados ao comportamento da aplicação. O operador aplica shaping sensível ao contexto em vez de um único teto abrangente.

Um teto no nível de conexão é aplicado a streams de longa duração

Conexões WebSocket, download de arquivo grande ou de streaming de longa duração podem contornar os limites clássicos baseados em requisições. O modo stream aplica um teto de largura de banda a cada um desses fluxos. Uma única conexão longa é impedida de esgotar a capacidade do serviço. Esse modelo é importante para cenários de mídia, transferência de arquivos e streaming em tempo real.

Mudanças de limite podem ser aplicadas sem interrupção do serviço

Os limites de largura de banda podem ser atualizados por meio de uma mudança de configuração. Novos limites são aplicados ao tráfego de produção de forma controlada. Isso permite resposta rápida durante campanhas, eventos suspeitos de DDoS, mudanças de cota de tenant ou restrições temporárias de capacidade. As equipes de operações não precisam aguardar uma mudança em um dispositivo de rede separado.

O monitoramento mostra qual chave está consumindo seu limite

No modo por chave, o estado de uso de cada usuário, IP ou tenant pode ser observado. O operador pode ver qual chave está se aproximando de seu teto de cota. Essa informação é valiosa para suporte ao cliente, análise de segurança e planejamento de capacidade. Eventos de violação de limite podem ser conectados a logs e pipelines de SIEM.

Um teto de taxa pode ser aplicado ao tráfego suspeito na mitigação de DDoS

Nem todo fluxo suspeito precisa ser bloqueado imediatamente. O TR7 pode aplicar um limite baixo de largura de banda a IPs, ASNs, paths ou grupos de comportamento suspeitos. Isso reduz o impacto de um ataque enquanto evita um corte completo de usuários legítimos em situações de falso positivo. A abordagem se encaixa em um modelo de defesa gradual.

Funciona como um controle de fluxo de conexão transparente e previsível

Esse recurso não é um sistema complexo de fila no nível de rede ou um mecanismo de hardware QoS. O TR7 aplica um teto de largura de banda no nível de conexão e fluxo. Esse limite é simples de gerenciar no nível de vService, chave e condição. O operador define claramente quanta capacidade cada serviço ou usuário recebe.

Profundidade operacional

O traffic shaping deve ser planejado junto com modo de limite, design de chave, direção de upload e download, fluxos de longa duração, compartilhamento em cluster e visibilidade de auditoria.

01

Seleção do modo de limite

O modo stream é adequado para limites por conexão, o modo por chave é adequado para limites por usuário ou por tenant, e o modo compartilhado é adequado para um limite comum em todo o cluster. Escolher o modo errado pode quebrar o comportamento esperado de capacidade. O objetivo da política deve ser esclarecido primeiro.

02

Design de chave

A chave usada no modo por chave determina a quem o limite realmente pertence. O IP de origem é suficiente em alguns ambientes; informações de tenant ou usuário podem fornecer um modelo de cota mais preciso. Para múltiplos usuários atrás de NAT, o IP sozinho pode não ser justo.

03

Separação de upload e download

As direções de upload e download têm impactos diferentes nos recursos. Grandes uploads de arquivo consomem capacidade de ingresso do backend; downloads consomem capacidade de egresso. Essas duas direções devem ser limitadas separadamente.

04

Conexões de longa duração

Conexões WebSocket, stream e de transferência de arquivo grande podem permanecer abertas por um período prolongado. Os limites por conexão tornam o consumo de recursos mais previsível nesses fluxos. As configurações de timeout e limite de largura de banda devem ser avaliadas juntas.

05

Compartilhamento em cluster

O modo compartilhado pode ser usado para comportamento de orçamento comum em configurações de dois nós. O objetivo é que a política de limite permaneça consistente à medida que a distribuição de tráfego muda entre os nós. Esse comportamento é importante para SLAs críticos de tenant.

06

Auditoria e alertas

Chaves que atingem um limite de threshold podem ser registradas. Alertas no SIEM podem ser configurados para violações de cota por tenant, por usuário ou por IP. Essa informação é útil tanto para operações de segurança quanto para suporte ao cliente.

Quando usar

Aplicando cotas de largura de banda para tenants SaaS

Em um ambiente SaaS multi-tenant, um teto de capacidade separado pode ser definido para cada tenant. O ID do tenant é usado como chave, e todos os usuários pertencentes ao mesmo tenant compartilham o limite comum.

Entregando velocidades diferentes entre tiers premium e gratuito

Um limite de largura de banda maior pode ser dado a clientes premium e um menor a usuários gratuitos. A diferença de tier é gerenciada na política do ADC sem incorporar lógica no código da aplicação.

Aplicando limites de taxa por nível de qualidade no streaming de mídia

Diferentes níveis de qualidade em serviços de vídeo ou mídia requerem larguras de banda diferentes. O TR7 pode aplicar um teto de download com base no path ou no tier de assinatura do usuário.

Desacelerando tráfego suspeito em vez de bloqueá-lo

Durante um evento suspeito de DDoS ou bot, o tráfego pode ser colocado sob um limite baixo de taxa em vez de ser cortado completamente. Isso reduz o impacto do ataque enquanto evita uma desconexão completa para usuários reais em casos de falso positivo.

Políticas de capacidade separadas para tráfego interno e externo

Chamadas de API internas podem ser deixadas sem limite enquanto o tráfego da internet é limitado. A separação é feita centralmente usando condições de IP de origem, path ou header.

Limitando endpoints específicos durante campanhas promocionais

Certos endpoints podem receber picos repentinos de tráfego durante campanhas de e-commerce. O TR7 aplica um teto temporário de largura de banda a APIs de checkout ou campanha para manter a estabilidade do serviço.

Perguntas frequentes

Como escolher entre os modos stream, por chave e compartilhado?
O modo stream aplica um limite separado a cada conexão e é adequado para fluxos de longa duração como WebSocket ou grandes transferências de arquivo. O modo por chave aplica um limite compartilhado contra uma chave FX como usuário, IP ou tenant e é preferido para cenários de cota multi-tenant. O modo compartilhado distribui o mesmo orçamento entre dois nós em um par de alta disponibilidade. O objetivo da política deve ser esclarecido primeiro — o modo errado pode quebrar o comportamento esperado de capacidade.
Os limites de upload e download podem ser definidos separadamente?
Sim. O TR7 pode limitar a direção de upload de clientes para o backend e a direção de download do backend para clientes independentemente. Por exemplo, o upload pode ser mais controlado em um serviço de upload de arquivos enquanto o download é mais restrito em um serviço de vídeo. Gerenciar as duas direções separadamente alinha a política de largura de banda com o comportamento real do tráfego.
Como uma chave é construída no modo por chave e quantas chaves podem ser rastreadas?
A chave é construída usando o mecanismo de expressões FX. IP de origem, informações de usuário JWT, ID de tenant, um valor de header ou qualquer combinação desses pode servir como chave. A stick-table no modo por chave pode rastrear até 100.000 chaves ativas. Chaves que ficaram silenciosas por 3.600 segundos são limpas automaticamente.
Como o modo compartilhado funciona em uma configuração de alta disponibilidade?
No modo compartilhado, os dois nós trocam o estado do orçamento de largura de banda via sincronização UDP em intervalos de 100 ms. Quando o tráfego de um tenant se move entre nós, a lógica de limite não é perturbada. Esse modelo é particularmente importante para garantir o isolamento de tenant em SLA empresarial e cenários de cota.
Esse recurso é o mesmo que Linux tc ou sistemas de hardware QoS?
Não. O traffic shaping do TR7 é um controle de fluxo no nível de conexão que aplica um teto de largura de banda no nível de conexão e fluxo. Não é uma arquitetura de fila no nível do kernel como Linux tc ou HTB, nem é um mecanismo de hardware QoS. Essa abordagem trabalha diretamente com sinais L7 como path, tenant, usuário ou claims JWT na camada de entrega de aplicação, com significativamente menos complexidade.
O que acontece quando um limite é excedido e esses eventos podem ser monitorados?
Quando uma conexão ou chave atinge seu limite, ela é limitada — o tráfego não é cortado, é reduzido para o teto de largura de banda. Eventos de violação de limite podem ser registrados e conectados a um pipeline de SIEM. No modo por chave, o operador pode observar em tempo real qual tenant, IP ou usuário está consumindo sua cota.

Controle a capacidade de tráfego no nível de vService e tenant

Mova o gerenciamento de largura de banda para o ADC. Estabeleça políticas de capacidade com os modos stream, por chave e compartilhado — sem appliance de rede separado ou arquitetura de fila complexa.