Ir al contenido

Curso 00 · Fundamentos de sistemas distribuidos

El curso que hace que los demás sean fáciles. Duración: ~10 horas. Prerrequisito: haber escrito y desplegado al menos un servicio en producción.

Casi ninguna pregunta senior es realmente sobre el lenguaje. “¿Por qué se duplicaron los cobros?” no es una pregunta de Java: es idempotencia. “¿Por qué la latencia p99 se dispara si el p50 está bien?” no es una pregunta de Node: es teoría de colas. Este curso te da los seis modelos mentales de los que cuelga todo lo demás.

# Módulo Qué te enseña Duración
1 Modelo mental de un sistema distribuido Fallos parciales, las 8 falacias, por qué “lo llamé y no sé qué pasó” es el problema central 90 min
2 Consistencia, CAP y el mundo real Consistencia fuerte vs eventual, aislamiento en BD, cuándo cada una, qué es realmente CAP 120 min
3 Mensajería, entrega e idempotencia At-least-once, outbox, dedupe, sagas, DLQ, orden y particiones 120 min
4 Resiliencia: timeouts, reintentos y fallos metaestables Timeouts en cascada, retry storms, circuit breakers, bulkheads, load shedding 120 min
5 Latencia, colas y capacidad Ley de Little, por qué el p99 explota al 80% de utilización, dimensionar pools 90 min
6 Observabilidad y método de diagnóstico Métricas/logs/trazas, USE y RED, cómo se investiga un incidente sin adivinar 90 min
  • Explicar por qué un timeout no significa que la operación falló, y qué haces al respecto.
  • Diseñar una operación de escritura idempotente end-to-end y defender dónde pones la clave.
  • Justificar consistencia eventual ante un stakeholder que pide “que sea inmediato”.
  • Explicar por qué añadir reintentos puede tumbar un sistema que solo estaba lento.
  • Calcular cuántas conexiones/hilos necesita un servicio a partir de su throughput y latencia.
  • Dirigir el diagnóstico de un incidente por hipótesis medibles en lugar de por corazonadas.

Preguntas del banco que este curso desbloquea

Sección titulada «Preguntas del banco que este curso desbloquea»

Prácticamente todos los [CASO] del repositorio, y en particular: