Cada PoP Propiedad de una Celda del Plano
Trazado de Voronoi
Coloque N puntos (PoPs: Puntos de Presencia) en un plano. Dibuje límites de región de manera que cada punto en el plano esté asignado al más cercano PoP. El resultado es un diagrama de Voronoi: el plano se divide en N celdas, una por PoP, cada una conteniendo todos los puntos más cercanos a su PoP que a cualquier otro.
Geometría de CDN: cada solicitud de usuario se dirige al PoP más cercano. Cada PoP sirve una celda del plano geográfico. Los límites de la celda son los bisectores perpendiculares de las líneas entre PoPs vecinos.
Lectura geométrica:
- Agregar un PoP reduce el tamaño de las celdas de sus vecinos (& crea una nueva celda)
- Eliminar un PoP obliga a su celda a redistribuirse a los vecinos (surgimiento de capacidad en vecinos)
- Un usuario cerca de un límite de celda puede cambiar entre PoPs a medida que el equilibrio de carga se desplaza
- Una falla de un PoP agranda todas las celdas efectivas de los vecinos durante la interrupción
Consecuencia operativa: cuando un PoP falla, su carga no desaparece; se migra a los PoPs vecinos. Si los vecinos están dimensionados solo para su celda normal, el surgimiento quebranta el siguiente (falla en cadena de PoP). Los proveedores maduros de CDN dimensionan cada PoP con el surgimiento de falla de vecino en mente.
La Desigualdad del Triángulo Es Imposible Engañar
Física Establece el Suelo
La luz viaja a ~300,000 km/s en el vacío. En fibra, alrededor de 200,000 km/s debido al índice de refracción. Entonces:
- ~1,000 km de fibra = ~5 ms ida = ~10 ms de ida y vuelta
- Costa a costa EE. UU. (~5,000 km) = ~50 ms RTT mínimo
- EE. UU. a Europa (~8,000 km) = ~80 ms RTT mínimo
- Antípoda (a la mitad del mundo) = ~200 ms RTT mínimo
Este es un suelo. El RTT real siempre es mayor (saltos de enrutador, switching, cola, congestión). Ninguna aplicación puede ser más rápida de lo que lo permite la física.
Triángulo Desigual
Para tres nodos A, B, C, el triángulo desigual dice que d(A,C) <= d(A,B) + d(B,C): una ruta directa es más corta (o igual) que cualquier ruta indirecta.
Lectura de red: si tu servicio rutea A -> B -> C en lugar de A -> C directamente, la latencia es al menos la suma de dos latencias de tramo. A menudo más debido al procesamiento en B.
Lectura arquitectónica: cada indirección (proxy, equilibrador de carga, salto CDN) agrega al menos un tramo de red ala latencia percibida por el usuario. Los beneficios de CDN vienen de hacer que el tramo del usuario sea más corto (PoP más cercano que el origen), incluso aunque el número total de saltos aumente.
Trampas de múltiples regiones: un servicio que lee de la región A, pero escribe en la región B incurre en latencia A-a B en cada escritura. Si A y B están a 100 ms de distancia, cada escritura tarda al menos >= 100 ms mínimo. Las bases de datos extendidas pagan este suelo en cada vez.
Pagar el Suelo
Un servicio se ejecuta en dos regiones: EE. UU.-Este (us-east-1) y Europa Occidental (eu-west-1). Las dos regiones están a aproximadamente 5,500 km de distancia. El servicio tiene una base de datos principal en EE. UU.-Este. Los usuarios de EU tienen sus solicitudes servidas por los backends de EU-West, pero cada escritura requiere una llamada de vuelta al principal de EE. UU.-Este.
Diseño Geográfico de Capacidad
Síntesis
Ahora puedes leer celdas de Voronoi como capturas de PoP, calcular suelos de latencia de velocidad de la luz y aplicar la curva de cola en el nivel de proxy.
Aplica los tres.
Un equipo planea la cobertura de CDN para un servicio con usuarios en tres continentes: América del Norte (60% de los usuarios), Europa (30%) y Asia (10%). Tienen un presupuesto para 6 PoPs. Cada PoP puede servir una celda establecada al 70% de utilización sin cruzar la rodilla de la curva de cola.
Cierre del Curso Complementario
Cierre del Curso Complementario
Has completado las cinco lecciones geométricas de-* complementarias:
- Proxies & Origins: grafos dirigidos, conteo de saltos, fan-in / fan-out, indirectización
- Stateless Horizontal Scaling: Ley de Little como área, curva de cola y su rodilla
- Ingress & Egress Separation: estructura bipartita, eliminación de vértices cortantes, tolerancia a particiones
- Failure Modes & Blast Radius: centralidad entre vértices, corte mínimo, diámetro
- Observability & Capacity (esta una): celdas de PoP de Voronoi, suelo de triángulo de latencia, diseño de capacidad geográfica
La línea argumental: los sistemas distribuidos tienen estructura geométrica. Cada arquitectura es un grafo. Cada suelo de latencia es un triángulo de igualdad. Cada decisión de capacidad es una curva y una rodilla. Una vez que ves la geometría, las decisiones operativas siguen de ella.
Combínalo con las cinco lecciones principales (cs_distsys_*), tienes un modelo mental funcional de un sistema distribuido a nivel web y el rigor gráfico para razonar sobre él.
Buen trabajo.