Resiliencia en sistemas distribuidos
Diseñar para timeouts, reintentos, circuit breakers, backpressure y fallos parciales sin amplificar incidentes.
Qué resuelve
Hace explícito que una dependencia remota puede ser lenta, estar caída o responder parcialmente.
Timeouts, límites de concurrencia, bulkheads y circuit breakers protegen recursos y evitan cascadas de fallos.
Cuándo tiene sentido
En cualquier sistema con red, especialmente integraciones críticas, workers y arquitecturas de microservicios.
Los reintentos solo aplican a errores transitorios y deben usar backoff con jitter y un límite claro.
Compensaciones
Reintentar sin idempotencia puede duplicar efectos; timeouts incorrectos pueden liberar trabajo que todavía sigue ejecutándose.
La resiliencia se valida con métricas y pruebas de fallos, no solo agregando una librería de políticas.
Comentarios