El diseño de sistemas conecta requisitos, límites de capacidad e invariantes con decisiones sobre datos y componentes. Estas notas explicitan qué protege cada mecanismo, qué fallos admite y cómo comprobar su recuperación.
Guía de estudio: una sola lectura
La lectura principal es SD: Repaso de pagos y liquidación con SRE. Reúne explicación central, invariantes, recorridos, capacidad, diagnóstico e incidentes en una hoja autocontenida. Puede estudiarse de principio a fin sin seguir una secuencia de otros artículos.
El caso completo de pagos y liquidación con SRE permite consultar el diseño E2E y sus decisiones en detalle. Las notas siguientes y Platform Engineering son referencias opcionales para ampliar un tema concreto; no son pasos obligatorios del repaso.
Biblioteca de consulta
- SD: Framework de Hello Interview — cinco etapas de entrega y cuatro ejes de preparación para una entrevista, con práctica variada y decisiones justificadas.
- SD: Data Modeling — patrones de acceso, restricciones relacionales, índices compuestos, normalización y localidad de los datos.
- SD: API Design — estilos de interfaz, recursos, semántica HTTP, paginación, autorización y reintentos.
- SD: Object Storage — objetos y metadatos, cargas directas con URLs firmadas, multipart y recuperación entre almacenes.
- SD: Sharding — claves de shard, planificación de capacidad, hotspots, operaciones entre shards y migración segura de datos.
- SD: Consistent Hashing — asignación en anillo, remapeo acotado, nodos virtuales, hotspots y migración coordinada.
- SD: Caching — arquitecturas de caché, frescura, eviction, stampedes, claves calientes y recuperación sin saturar la base de datos.
- SD: Redis — claves, estructuras de datos, slots de Cluster, hash tags, memoria y durabilidad.
- SD: Message Queues — capacidad, backpressure, orden y recuperación al diseñar trabajo asíncrono.
- SD: Kafka vs RabbitMQ — colas de tareas, logs retenidos, replay y garantías de entrega con consumidores idempotentes.
- SD: 2PC vs Saga — límites transaccionales, atomicidad del commit, compensaciones y publicación con outbox.
- SD: Sistema de boletaje — inventario consistente, reservas temporales y coordinación con pagos bajo alta demanda.
- SD: Rate Limiter — un diseño distribuido que conecta estado compartido, decisiones atómicas, escalabilidad y recuperación ante fallos.
- SD: Docker — imágenes, contenedores, caché de construcción, aislamiento y Docker Sandboxes para agentes.
Garantías y recuperación
- SD: Idempotencia y resultados inciertos — identidad estable de operación, deduplicación local y recuperación cuando se pierde una respuesta.
- SD: Outbox, CDC y recuperación de proyecciones — publicación durable, relay, orden, duplicados y reconstrucción de vistas.
- SD: Consistencia, aislamiento y autoridad — atomicidad, aislamiento, frescura y fronteras que hacen cumplir invariantes.
- SD: Replicación, durabilidad y recuperación — confirmaciones, failover, copias entre zonas y regiones, respaldos y ensayos RTO/RPO.
- SD: Timeouts, leases y propiedad temporal — presupuestos de espera, expiración, propietarios tardíos y protección en el recurso.
- SD: Capacidad, backpressure y admisión — trabajo útil, concurrencia, colas finitas y presupuestos de dependencia durante picos y fallos.
- SD: Observabilidad e invariantes — señales, identidades y ensayos de concurrencia y recuperación para comprobar resultados.
Entrada de tráfico y entrega de contenido
- SD: Load Balancing — selección de destinos, salud, conexiones, drenaje y reintentos con una identidad estable.
- SD: CDN — cache keys, contenido privado, frescura, invalidación y coordinación con el origen.
En Systems Lab, este recorrido comparte los ejes de estado, comunicación, fallos y observabilidad con Homelab, donde se estudia cómo desplegar, observar y recuperar la infraestructura que ejecuta los sistemas.