Cada PoP Tem uma Célula do Plano
Tesselamento de Voronoi
Coloque N pontos (PoPs: Pontos de Presença) em um plano. Desenhe limites de região de forma que cada ponto no plano seja atribuído ao mais próximo PoP. O resultado é um diagrama de Voronoi: o plano é partitionado em N células, uma por PoP, cada contendo todos os pontos mais próximos de seu PoP do que de qualquer outro.
Geometria CDN: cada solicitação de usuário roteia para o PoP mais próximo. Cada PoP serve uma célula do plano geográfico. As fronteiras das células são os bissectores perpendiculares das linhas entre PoPs vizinhos.
Leitura Geométrica:
- Adicionar um PoP diminui as células de seus vizinhos (& cria uma nova célula)
- Remover um PoP força sua carga a redistribuir para vizinhos (surto de capacidade nos vizinhos)
- Um usuário perto de uma fronteira de célula pode alternar entre PoPs à medida que a distribuição de carga muda
- Uma falha de um PoP amplia todas as células efetivas dos vizinhos durante a interrupção
Consequência Operacional: quando um PoP falha, sua carga não desaparece; migra para PoPs vizinhos. Se os vizinhos forem dimensionados apenas para sua célula normal, o surto quebra-os em seguida (falha cascata de PoP). Provedores de CDN maduros dimensionam cada PoP com surto de falha de vizinho em mente.
A Desigualdade Triangular que Não Pode Ser Enganada
Física Define o Piso
A luz viaja a ~300.000 km/s no vácuo. Em fio, cerca de 200.000 km/s devido ao índice de refração. Isso significa:
- ~1.000 km de fio = ~5 ms para ida = ~10 ms para ida e volta
- Lado a lado nos EUA (~5.000 km) = ~50 ms RTT mínimo
- EUA para a Europa (~8.000 km) = ~80 ms RTT mínimo
- Antipodal (meio em torno do mundo) = ~200 ms RTT mínimo
Este é um piso. O RTT real sempre é maior (salto de roteador, troca, filas, congestionamento). Nenhuma aplicação pode ser mais rápida do que a física permite.
Triângulo de Desigualdade
Para três nós A, B, C, o triângulo de desigualdade diz que d(A,C) <= d(A,B) + d(B,C): uma rota direta é mais curta (ou igual) do que qualquer rota indireta.
Leitura de rede: se seu serviço roteia A -> B -> C em vez de A -> C diretamente, a latência é pelo menos a soma das duas latências de percurso. Geralmente mais devido ao processamento em B.
Leitura arquitetural: cada indireção (proxy, balanceador de carga, salto no CDN) adiciona pelo menos uma perna de volta ao latência percebida pelo usuário. O benefício do CDN vem da redução da perna do usuário (PoP mais próximo do origem), mesmo que o total de saltos aumente.
Armadilhas de múltiplas regiões: um serviço que lê da região A, mas grava na região B incorre na latência A-to-B em cada gravação. Se A & B estão a 100 ms de distância, cada gravação leva >= 100 ms mínimo. Bancos de dados estendidos pagam este piso a cada vez.
Pague o Chão
Um serviço opera em duas regiões: US-East (us-east-1) & EU-West (eu-west-1). As duas regiões estão a cerca de 5.500 km de distância. O serviço tem um banco de dados primário nos EUA-East. Os usuários na UE têm suas solicitações atendidas pelos backends EU-West, mas cada escrita requer uma chamada de volta para o banco de dados primário nos EUA-East.
Design de Capacidade Geográfica
Síntese
Agora você pode ler células de Voronoi como coletas de PoP de Pop, calcular pátios de latência de velocidade da luz e aplicar a curva de fila no nível de proxy.
Aplique os três.
Uma equipe planeja a cobertura do CDN para um serviço com usuários em três continentes: América do Norte (60% dos usuários), Europa (30%) e Ásia (10%). Eles têm orçamento para 6 PoPs. Cada PoP pode servir uma célula estável em 70% de utilização sem cruzar o joelho da curva de fila.
Encerrando o Curso Companheiro
Encerrando o Curso Companheiro
Você concluiu as cinco lições de geometria-de-* companheiras:
- Proxies & Origins: grafos direcionados, contagem de saltos, fan-in / fan-out, indireção
- Stateless Horizontal Scaling: Lei de Little como área, curva de fila e seu joelho
- Ingress & Egress Separation: estrutura bipartida, eliminação de vértices de corte, tolerância a partições
- Failure Modes & Blast Radius: centralidade entre vértices, min-corte, diâmetro
- Observabilidade & Capacity (esta): células de PoP de Voronoi, piso triangular de latência, design de capacidade geográfica
A linha de fundo: sistemas distribuídos têm estrutura geométrica. Cada arquitetura é um gráfico. Cada piso de latência é uma desigualdade triangular. Cada decisão de capacidade é uma curva e um joelho. Quando você vê a geometria, as decisões operacionais seguem daí.
Juntamente com as cinco lições principais (cs_distsys_*), você tem um modelo mental funcional de um sistema de computação distribuído na web e a disciplina geométrica para raciocinar sobre ele.
Bem feito.