F2 — Sistemas distribuidos
Lo que necesitas dominar: consistencia y el teorema CAP, replicación y particionamiento, consenso (Raft/Paxos), idempotencia, entrega exactly-once vs at-least-once, relojes y orden de eventos, colas y sagas. Es el fundamento que más separa niveles y el que menos se enseña en cursos de stack.
Cursos y charlas (empieza por acá)
Distributed Systems in One Lesson — Tim Berglund
Gratis · ~50 min · Panorama accesible antes de meterte a lo pesado. Ideal para arrancar.
Distributed Systems 1.1: Introduction — Martin Kleppmann (Cambridge)
Gratis · El mismo autor de DDIA explicando la base con calma. Primera clase de una serie de 8.
Ver la serie completa en YouTube
MIT 6.824 — Lecture 1: Introduction (Robert Morris)
Gratis · El curso universitario real, con labs en Go (Raft, MapReduce, KV replicado). Denso, el que se hace en serio.
Libros y referencia
- Martin Kleppmann — “Designing Data-Intensive Applications” (DDIA) · pago · el libro clave — el que separa niveles, no caduca. Si compras un solo libro de fundamentos, es este.
- van Steen & Tanenbaum — “Distributed Systems” · gratis (PDF, 4ª ed) — alternativa gratis y completa para la teoría.
- The System Design Primer (GitHub) · gratis — referencia rápida de consistencia, replicación, sharding, colas.
Para que no se quede en teoría
El concepto que más te sirve ya, y sobre tu código: idempotencia. Tus APIs con webhooks (pagos, notificaciones) tienen que soportar el mismo evento dos veces sin duplicar efectos, porque los proveedores reintentan. Toma uno de tus servicios con webhook, fuerza una entrega duplicada, y hazlo idempotente con una clave de deduplicación. Eso es sistemas distribuidos aplicado, medible, sobre tu propio código.