Cada PoP posee una celda del plano
Teselación de Voronoi
Coloque N puntos (PoP: Puntos de Presencia) en un plano. Trace los límites de las regiones de tal manera que cada punto del plano se asigne al PoP más cercano. El resultado es un diagrama de Voronoi: el plano se particiona en N celdas, una por cada PoP, cada una conteniendo todos los puntos más cercanos a su PoP que a cualquier otro.
Geometría de la CDN: cada solicitud de usuario se enruta al PoP más cercano. Cada PoP sirve una celda del plano geográfico. Los límites de las celdas son las mediatrices perpendiculares de las líneas entre los PoP vecinos.
Lectura geométrica:
- Añadir un PoP reduce las celdas de sus vecinos (& crea una nueva celda)
- Eliminar un PoP obliga a su celda a redistribuirse entre los vecinos (pico de capacidad en los vecinos)
- Un usuario cerca del límite de una celda puede cambiar entre PoPs a medida que se desplaza el equilibrio de carga
- Una falla de un PoP agranda la celda efectiva de cada vecino durante la interrupción
Consecuencia operativa: cuando un PoP falla, su carga no desaparece; migra a los PoP vecinos. Si los vecinos están dimensionados solo para su celda normal, el pico los hará fallar a continuación (falla en cascada de PoP). Los proveedores de CDN maduros dimensionan cada PoP teniendo en cuenta el pico de falla de vecinos.
La Desigualdad Triangular que No Puedes Engañar
La Física Establece el Límite Inferior
La luz viaja a ~300,000 km/s en el vacío. En fibra óptica, a unos 200,000 km/s debido al índice de refracción. Esto significa:
- ~1.000 km de fibra = ~5 ms en un solo sentido = ~10 ms de ida y vuelta
- De costa a costa en EE. UU. (~5.000 km) = ~50 ms de RTT mínimo
- De EE. UU. a Europa (~8.000 km) = ~80 ms de RTT mínimo
- Antípodo (la mitad del mundo) = ~200 ms de RTT mínimo
Este es un límite inferior. El RTT real siempre es mayor (saltos de enrutador, conmutación, encolado, congestión). Ninguna aplicación puede ser más rápida de lo que permite la física.
Desigualdad triangular
Para tres nodos A, B y C, la desigualdad triangular establece que d(A,C) <= d(A,B) + d(B,C): un camino directo es más corto (o igual) que cualquier camino indirecto.
Lectura de red: si tu servicio enruta A -> B -> C en lugar de A -> C directamente, la latencia es al menos la suma de las latencias de las dos tramos. A menudo es mayor debido al procesamiento en B.
Lectura arquitectónica: cada indirección (proxy, balanceador de carga, salto de CDN) añade al menos una pierna de ida y vuelta a la latencia percibida por el usuario. El beneficio de la CDN proviene de acortar la pierna del usuario (un PoP más cercano que el origen), aunque el número total de saltos aumente.
Trampas multirregión: un servicio que lee de la región A pero escribe en la región B incurre en la latencia de A a B en cada escritura. Si A y B están separadas por 100 ms, cada escritura toma un mínimo de >= 100 ms. Las bases de datos extendidas pagan este piso cada vez.
Pagar el piso
Un servicio se ejecuta en dos regiones: US-East (us-east-1) y EU-West (eu-west-1). Las dos regiones están separadas aproximadamente por 5.500 km. El servicio tiene una base de datos primaria en US-East. Las peticiones de los usuarios de la UE son atendidas por backends en EU-West, pero cada escritura requiere una llamada de vuelta a la primaria en US-East.
Diseño de capacidad geográfica
Síntesis
Ahora puedes leer las celdas de Voronoi como cuencas de PoP, calcular los límites inferiores de latencia de velocidad de la luz y aplicar la curva de colas en la capa de proxy.
Aplica los tres.
Un equipo planifica la cobertura de CDN para un servicio con usuarios en tres continentes: Norteamérica (60 % de los usuarios), Europa (30 %) y Asia (10 %). Tienen presupuesto para 6 PoPs. Cada PoP puede servir una celda estable al 70 % de utilización sin cruzar la rodilla de la curva de colas.
Cierre del Curso Complementario
Cierre del Curso Complementario
Has completado las cinco lecciones complementarias de geometría:
- Proxies y Orígenes: grafos dirigidos, recuento de saltos, entrada múltiple / salida múltiple, indirección
- Escala Horizontal Sin Estado: Ley de Little como área, curva de colas y su punto de inflexión
- Separación de Entrada y Salida: estructura bipartita, eliminación de vértices de corte, tolerancia a particiones
- Modos de Fallo y Alcance del Impacto: centralidad de intermediación, corte mínimo, diámetro
- Observabilidad y Capacidad (esta): celdas de PoP de Voronoi, límite inferior del triángulo de latencia, diseño de capacidad geográfica
El hilo conductor: los sistemas distribuidos tienen estructura geométrica. Cada arquitectura es un grafo. Cada límite inferior de latencia es una desigualdad triangular. Cada decisión de capacidad es una curva y un punto de inflexión. Una vez que ves la geometría, las decisiones operativas se derivan de ella.
Combinado con las cinco lecciones principales (cs_distsys_*), tienes un modelo mental funcional de un sistema distribuido a escala web y la disciplina basada en teoría de grafos para razonar sobre él.
Muy bien hecho.