O Nó Gargalo Identificado Antes da Chegada do Tráfego
Centralidade de Intermediação
Para cada par de nós em um grafo, existe um caminho mais curto entre eles. A centralidade de intermediação de um nó N = a fração de todos os caminhos mais curtos que passam por N.
Um nó com alta centralidade de intermediação está no caminho entre muitos outros pares. Se ele diminuir a velocidade, muitos fluxos diminuem a velocidade. Se ele falhar, muitos fluxos são interrompidos.
Leitura arquitetural: nós com alta centralidade de intermediação são aqueles a que toda revisão de arquitetura deve prestar atenção extra. Eles são gargalos, SPOFs (pontos únicos de falha) e componentes críticos de capacidade ao mesmo tempo. Eles tendem a ser:
- O provedor de DNS (entre cada cliente e cada serviço)
- O proxy de entrada (entre cada cliente e cada backend)
- O primário do banco de dados (entre cada backend e cada leitura)
- O serviço de autenticação (entre cada usuário e cada ação autorizada)
Detecção sem medição: a topologia do grafo por si só identifica nós de alta centralidade de intermediação. Você não precisa de dados de tráfego; precisa do diagrama da arquitetura. Um nó que se situa entre muitos pares de outros é estruturalmente crítico.
Consequência operacional: nós de alta centralidade de intermediação merecem investimento desproporcional em (1) folga de capacidade, (2) redundância, (3) observabilidade e (4) playbooks de resposta a incidentes.
O Corte Mais Pequeno Desconecta o Fragmento Mais Pequeno
Teorema do Corte Mínimo em Termos Simples
O min-cut (corte mínimo) entre dois nós em um grafo = o menor número de arestas (ou nós) que devem ser removidas para desconectá-los.
Leitura operacional: o min-cut limita o raio de explosão (blast radius) no pior caso. Se o min-cut entre 'clients' (clientes) e 'database' (banco de dados) for 1 aresta (um único proxy), então a perda dessa aresta desconecta todos os clientes do banco de dados. Se o min-cut for 5, é necessário perder 5 componentes simultaneamente para desconectar completamente; é uma má sorte, mas limitada.
Projetando para o raio de explosão: aumente o min-cut em cada fronteira importante. Múltiplos proxies; múltiplos nós de cache; múltiplos caminhos de rede entre DCs (data centers). Cada adição aumenta o min-cut em 1.
O padrão bulkhead (compartimento estanque) em termos de grafo: particione os recursos em subgrafos separados que não compartilham nenhum min-cut entre si. Uma falha dentro de um subgrafo não pode se propagar para os outros, pois as arestas não existem.
Diâmetro Define a Distância de Propagação de Falhas
Diâmetro do grafo = o caminho mais curto mais longo entre quaisquer dois nós.
Propagação de falhas: quando um nó falha e as tentativas de repetição (retries) fluem de volta, elas tocam os nós upstream (a montante) até a distância do diâmetro. Um sistema com diâmetro 3 (cliente -> proxy -> backend -> banco de dados) significa que uma falha no banco de dados afeta 3 camadas upstream em uma tempestade de repetições.
Implicação: diâmetro mais curto = contenção de falhas mais rápida, mas também maior concentração de nós. Cada design tem seus próprios trade-offs.
Calcular o Min-Cut para uma Arquitetura Real
Uma arquitetura: 1 DNS, 1 CDN, 3 proxies reversos, 12 réplicas de backend, 1 primário de banco de dados.
Auditoria de Modos de Falha por Métricas de Grafo
Síntese
Agora você pode identificar nós de alta entrecess, calcular o corte mínimo em cada fronteira e estimar a distância de propagação de falhas por meio do diâmetro.
Aplique os três.
Um sistema: 50 endpoints de clientes -> 1 DNS -> 2 POPs de CDN -> 4 proxies reversos -> 16 réplicas de backend -> { cluster de banco de dados (1 primário + 2 standby), cluster Redis (5 nós), 3 APIs externas }.
Notas Complementares
Notas Complementares
Esta lição de geometria reinterpreta a lição principal de Modos de Falha e Raio de Explosão através de métricas de grafo (intermediação, min-cut, diâmetro).
A última nota complementar, geometry_of_observability_and_capacity, trata das células de Voronoi para as áreas de captação dos PoPs de CDN, o piso de velocidade da luz do triângulo de latência e a curva de filas revisitada na camada de proxy.
Muito bem.