English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

visitante
1 / ?

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.

Um CDN opera 4 PoPs servindo a América do Norte: Leste, Oeste, Mountain, Midwest. Cada um é dimensionado para ~25% do tráfego total dos EUA. O PoP Mountain falha. Prediga: (1) quais PoPs vizinhos absorvem a carga redistribuída, e em aproximadamente que proporção, e (2) o que acontece se essos vizinhos fossem exatamente dimensionados para 25% cada um, sem espaço para expansão.

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.

Triângulo de latência: A-B-C definido pela distância física

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.

Calcule a latência do piso para uma escrita de usuário na UE (ida e volta do navegador do usuário para o backend EU-West para o primário dos EUA e de volta). Compare com uma leitura de usuário servida integralmente do cache EU-West. Em seguida, proponha uma mudança arquitetural que reduz a latência do piso para escritas de usuários na UE.

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.

Projete a localização dos PoP: (1) como distribuiria 6 PoPs em três continentes, (2) qual seria o piso de latência para um usuário na Ásia sendo atendido por um PoP na Europa se não houver PoP na Ásia (assume ~9000 km de distância) e (3) qual capacidade de reserva você requereria por PoP para sobreviver a uma falha de PoP única sem cascata?

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.