Cada PoP Possui 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 modo que cada ponto no plano seja atribuído ao mais próximo PoP. O resultado é um diagrama de Voronoi: o plano é dividido 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 bissextos perpendiculares às 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 célula 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 equilibragem de carga muda
- Falha de um PoP aumenta 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). Fornecedores de CDN maduros dimensionam cada PoP com pensamento em surto de vizinho-falha.
A Desigualdade de Triângulo Que Você Não Pode Enganar
Física Define o Piso
A luz viaja a ~300.000 km/s em vácuo. Em fio de fibra, cerca de 200.000 km/s devido a índice de refração. Isso significa:
- 1.000 km de fibra = ~5 ms de ida = ~10 ms de volta e ida
- Litoral dos EU (~5.000 km) = ~50 ms RTT mínimo
- EU a Europa (~8.000 km) = ~80 ms RTT mínimo
- Antaginal (metade do caminho ao redor do mundo) = ~200 ms RTT mínimo
Isso é o piso. A RTT real sempre é maior (saltos de roteador, commutação, filas, congestionamento). Nenhuma aplicação pode ir mais rápido 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 latências de duas pernas. Geralmente mais devido ao processamento em B.
Leitura arquitetural: cada indireção (proxy, equilibrador de carga, salto CDN) adiciona pelo menos uma perna de volta ao usuário. Os benefícios do CDN vêm do usuário da perna do usuário mais curta (PoP mais próximo do que o origem), mesmo que o número total de saltos aumente.
Armadilhas de região múltipla: um serviço que lê da região A, mas grava na região B incorre em latência A-to-B em cada gravação. Se A e B são 100 ms de distância, cada gravação leva >= 100 ms mínimo. Bancos de dados estirados pagam esse chão 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 aproximadamente a 5.500 km de distância. O serviço tem um banco de dados primário no US-East. Os usuários da EU têm suas solicitações atendidas por backends da EU-West, mas cada escrita requer uma chamada de volta para o banco de dados primário do US-East.
Design de Capacidade Geográfica
Síntese
Agora você pode ler células de Voronoi como capturas do PoP, calcular pátios de latência com fundo de velocidade da luz e aplicar a curva de fila no nível de proxy.
Aplique todos os três.
Uma equipe planeja cobertura de CDN para um serviço com usuários em três continentes: América do Norte (60% dos usuários), Europa (30%), Ásia (10%). Eles têm orçamento para 6 PoPs. Cada PoP pode servir uma célula estável a 70% de utilização sem cruzar a perna da curva de fila.
Encerrando o Curso Companheiro
Encerrando o Curso Companheiro
Você completou todas as cinco lições de geometria-de-* de apoio:
- Proxies & Origens: gráficos direcionados, contagem de saltos, fan-in / fan-out, indireção
- Stateless Horizontal Scaling: Lei de Little como área, curva de fila e sua perna
- Ingress & Egress Separation: estrutura bipartida, eliminação de vértice de corte, tolerância a partições
- Failure Modes & Blast Radius: centralidade entre-salas, min-corte, diâmetro
- Observabilidade & Capacidade (esta): células de PoP de Voronoi, pátio de latência triangular, design de capacidade geográfica
A trama: sistemas distribuídos têm estrutura geométrica. Cada arquitetura é um gráfico. Cada pátio de latência é um triângulo. Cada decisão de capacidade é uma curva e uma perna. Assim que você vê a geometria, as decisões operacionais se seguem.
Juntamente com as cinco lições principais (cs_distsys_*), você tem um modelo mental de um sistema de computação em nível de web e a disciplina geométrica para raciocinar sobre ele.
Bem feito.