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 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.

Células de Voronoi ao redor dos PoPs; uma falha de PoP aumenta as células dos vizinhos

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

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.

Triângulo de Latência: A-B-C definido pelo piso físico

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.

Calcule a latência do chão para uma escrita de usuário EU (ida e volta do navegador deles para o backend EU-West para o backend primário US-East e de volta). Compare com uma leitura de usuário EU servida inteiramente do EU-West estado cacheado. Então, proponha uma mudança arquitetural que reduz a latência do chão para escritas de usuários EU.

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.

Desenhe a distribuição de PoP: (1) como você distribuiria 6 PoPs em três continentes, (2) para a menor participação de usuário (Ásia em 10%), qual é o piso de latência para um usuário da Ásia sendo atendido por um PoP da Europa se não houver PoP na Ásia (assume ~9000 km de distância) e (3) qual espaço de capacidade você precisaria por PoP para sobreviver a uma única falha de PoP sem cascata?

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.