Resumo

  • A RFC 8084 associa o disjuntor a um fluxo ou agregado dentro de uma seção medida por ingress e egress; a condição acima do limiar deve persistir por múltiplos intervalos.
  • O disparo registra a retirada, interrupção ou redução substancial de tráfego naquele escopo. Não identifica por si só uma causa, um ponto de rede, um culpado, o impacto ao cliente ou a recuperação.

Há uma diferença decisiva entre reduzir risco e explicar risco. Se uma proteção automática derruba ou restringe tráfego, ela pode impedir que uma condição se prolongue. Mas o ato de conter não mostra, sem outras observações, se a pressão vinha de uma mudança de rota, de uma fila, de uma configuração, de capacidade usada por outro serviço ou de outra parte do sistema.

A RFC 8084 foi publicada pelo IETF em março de 2017 como BCP 208 e tem G. Fairhurst como autor. Ela chama o network transport circuit breaker de proteção de último recurso. Antes da decisão, há um contrato de medição. Tráfego entra em uma seção por um ou mais ingress, sai por um ou mais egress, e o mecanismo acompanha um fluxo de transporte ou um agregado determinado dentro desse contorno. Um limiar definido é comparado em intervalos de medição, e o estado excessivo precisa persistir ao longo de mais de um intervalo.

Só então o disjuntor dispara e aplica uma reação que retira tráfego da seção: pode encerrá-lo ou reduzir substancialmente a taxa.

Esse encadeamento permite uma afirmação estreita, mas verificável: um contador configurado viu uma população que definiu acima de sua condição de persistência e executou a resposta prevista. Guardar o recorte de ingress/egress, a chave do agregado, as janelas, o limiar e a ação torna essa afirmação revisável. Não adiciona ao recibo um diagnóstico que o contador não coletou.

A lista de possibilidades da RFC reforça a separação. Congestionamento persistente pode estar ligado a tráfego anômalo, capacidade destinada a outros fins, mudança de roteamento, serviço mal configurado, dispositivo de rede, admission controller ou policer. O texto diz que, em muitos casos, a causa não é evidente na origem. Uma aplicação pode não ficar sabendo que um disjuntor disparou, nem em que ponto da rede isso ocorreu.

É por isso que “o disjuntor disparou” não equivale a “achamos o gargalo”. Não confirma que todos os fluxos de um caminho tinham a mesma condição, não mede a experiência do usuário, não prova que o controle normal falhou e não demonstra que a situação acabou. Uma taxa menor depois da ação pode simplesmente refletir que o dispositivo reduziu aquilo que consegue ver, enquanto a condição persiste ou se manifesta fora do escopo medido.

O princípio de Heng Lu é útil como higiene de linguagem: a camada comum deve afirmar somente a transição determinística que consegue verificar localmente; publicação ou alarme não criam uma realidade maior por declaração. O medidor responde por sua medição. A topologia, a telemetria de fila, os históricos de mudança, os sistemas remotos e os serviços aos clientes respondem por fatos diferentes.

Ler assim não diminui a proteção. Faz dela o começo correto de uma apuração: primeiro o que foi medido e feito; depois, com fontes próprias, o que causou, onde estava, quem foi afetado e se houve recuperação.

Fontes