Cada PoP Tem uma Célula do Plano
Tesselamento de Voronoi
Coloque N pontos (PoPs: Pontos de Presença) em um plano. Desenhe regiões de modo 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 do 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 conforme a distribuição de carga muda
- Uma falha de um PoP aumenta efetivamente todas as células 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). CDN maduros dimensionam cada PoP com o surto de falha de vizinho em mente.
A Desigualdade Triangular Que Você Não Pode Enganar
Física Define o Piso
A luz viaja a ~300.000 km/s no vácuo. Em fibras ópticas, cerca de 200.000 km/s devido ao índice de refração. Isso significa:
- ~1.000 km de fibra = ~5 ms ida = ~10 ms volta 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 (saltos 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 de duas latências de perna. Geralmente mais devido ao processamento em B.
Leitura arquitetural: toda indireção (proxy, balanceador de carga, salto CDN) adiciona pelo menos uma perna de retorno ao usuário. Os benefícios do CDN vêm da redução da perna do usuário (PoP mais próximo do origin), mesmo que o total de saltos aumente.
Armadilhas de múltiplas regiões: um serviço que lê da região A, mas grava em região B incorre na latência de A para B em cada gravação. Se A e B estiverem 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 Piso
Um serviço opera em duas regiões: US-East (us-east-1) & EU-West (eu-west-1). As duas regiões estão aproximadamente a 5.500 km de distância. O serviço possui 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 toda escrita requer uma chamada de volta para o banco de dados primário dos EUA-East.
Design de Capacidade Geográfica
Síntese
Agora você pode ler células de Voronoi como coletas de PoP de Pop, calcular pares de latência de velocidade da luz no chão e aplicar a curva de fila na camada 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 todas 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, corte mínimo, diâmetro
- Observabilidade & Capacity (esta): células de PoP de Voronoi, piso triangular de latência, design de capacidade geográfica
O fio condutor: 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 se seguem a partir dela.
Juntamente com as cinco lições principais (cs_distsys_*), você tem um modelo mental funcional de um sistema de computação distribuída em nível de web e a disciplina gráfica-teórica para raciocinar sobre ele.
Bem feito.