Caching y CDN
En esta lección aprendemos sobre el cache (un lugar rápido que guarda respuestas que ya calculamos, para no repetir el trabajo; como una nota adhesiva en tu escritorio con una respuesta que ya encontraste). Vamos a conocer algunos estilos de trabajo: cache-aside (lees del cache, y si está vacío vas
El System Design (planear cómo construir software grande que atienda a muchas personas) es como planear una ciudad: calles, almacenamiento, semáforos y equipos de mantenimiento, para que la ciudad siga funcionando bien incluso en la hora pico más intensa.
- Caching
- Guardar respuestas ya calculadas en un lugar rápido (un cache) para responder rápido y evitar hacer el mismo trabajo dos veces. La habilidad central de esta lección cubre cache-aside (leer del cache, y si está vacío ir a la fuente y guardarlo), write-through (guardar en el cache y en la fuente al mismo tiempo), TTL (cuánto tiempo se mantiene 'fresca' una respuesta), invalidation (descartar datos obsoletos), hot keys (elementos que todos piden a la vez), y un CDN (servidores repartidos por el mundo que mantienen copias cerca del usuario).
- Trade-off
- Una elección consciente que tiene tanto una ganancia como un costo, igual que elegir una ruta: el camino rápido cuesta un peaje, el gratuito toma más tiempo. En una entrevista le explicas al entrevistador la ganancia y el costo de cada elección.
- Métrica operativa
- Un número que muestra si la decisión realmente funciona una vez que el sistema está en vivo y atendiendo usuarios reales (producción). Por ejemplo: latency (cuánto tarda una respuesta), error rate (la proporción de solicitudes que fallan), queue lag (cuántas tareas están esperando en fila), y cache hit ratio (con qué frecuencia encontramos una respuesta ya lista). Como los medidores del tablero de un auto: te dicen si todo está bien.