System design · entrevistas · español
Pensar sistemas.
En español.
Hay una tienda. Alguien elige unas zapatillas, pulsa Comprar, y nace el pedido 456; la ficha de ese par es el producto 123. A partir de ahí vamos armando el sistema: primero dónde se guarda el pedido, después qué pasa cuando diez mil personas miran la misma ficha, y así. El mismo hilo sirve para leerlo de corrido y para dibujarlo en una pizarra.
Índice
Capítulos
Seguimos siempre la misma tienda. Cada capítulo suma una pieza (la base, el load balancer, el CDN, el caché, la cola del checkout) y ves qué se rompe cuando crece el tráfico y qué conviene hacer. No es un temario suelto: es un ecommerce que va escalando, de a un problema por vez.
- 01 El suelo Bases de datos Dónde vive de verdad el pedido 456. Tablas, índices, réplicas, ids. Redis y la cola vienen después.
- 02 La puerta Load balancer Una sola API no aguanta Black Friday. Varias cajas detrás de un solo hostname. Salud, L4 vs L7, sticky.
- 03 El borde CDN y edge Las fotos del 123 no tienen que viajar a tu origen cada vez. PoPs, Cache-Control, purge. Estático por el borde; dinámico por el load balancer.
- 04 Lecturas Caché Diez mil personas miran las mismas zapatillas. Hit, miss, stale, stampede. Redis como copia, no como verdad.
- 05 Checkout Colas El usuario no tiene que esperar el PDF. Pedido 456, at-least-once, outbox, DLQ.
- 06 El último par Locks distribuidos Apartar la talla 42 diez minutos. Un BEGIN no vive tanto. Redis SET NX, TTL, y la fila de stock como verdad.
- 07 El portero Rate limiting Cuántas veces podés llamar a la puerta. Login, 429, token bucket. Redis otra vez, otro job.
- 08 En vivo Tiempo real El stock baja mientras alguien mira la ficha. SSE vs WebSocket, hop 1 y hop 2, y cuándo no hace falta un rayo.