🧪 Problem-Driven Systems Lab
🌐 Caso 09 · Resiliencia

Integracion externa inestable

Una API, servicio o proveedor externo introduce latencia, errores intermitentes o reglas cambiantes que afectan el sistema propio.

OPERATIVO 🐘 PHP🐍 Python🟢 Node.js☕ Java🔵 .NET🐹 Go🦀 Rust

📈 Que cambia para el negocio

Permite razonar protecciones frente a dependencias externas que no controlamos.

💼 Que demuestra tecnicamente

Aterriza resiliencia realista frente a terceros, no solo manejo local de excepciones.

✅ Evidencia que deja

  • Contrasta /catalog-legacy y /catalog-hardened sobre drift de esquema, rate limit y maintenance window.
  • Hace visible budget restante, schema mappings y uso de snapshot cacheado.
  • Expone integration/state, sync-events y diagnostics/summary para seguir el desacople frente al tercero.

👀 Que mirar al ejecutarlo

  • Si rate_limited deja 429 en legacy y continuidad con cache en hardened.
  • Si schema_drift sube el adapter_version o los schema_mappings en vez de romper el flujo.
  • Si quarantine_events y budget muestran mejor postura operacional en la variante endurecida.
Honestidad: No reemplaza una integracion real con DLQ ni proveedores externos verdaderos. Si reproduce contratos variables, cuota, cache y adaptacion defensiva.

Como esta resuelto en cada stack

PHP 8.3 con integracion directa vs adapter endurecido, cache y cuota observable; Java 21 con Semaphore budget + snapshot cache + AtomicReference breaker; .NET 8 con MemoryCache + SemaphoreSlim budget + Interlocked CAS breaker

StackHealth check localComposeDetalle
🐘 PHP 8.3http://localhost:8100/09/healthcompose.root.ymlREADME del stack
🐍 Python 3.12http://localhost:8200/09/healthcompose.python.ymlREADME del stack
🟢 Node.js 22http://localhost:8300/09/healthcompose.nodejs.ymlREADME del stack
☕ Java 21http://localhost:8400/09/healthcompose.java.ymlREADME del stack
🔵 .NET 8http://localhost:8500/09/healthcompose.dotnet.ymlREADME del stack
🐹 Go 1.23http://localhost:8600/09/healthcompose.go.ymlREADME del stack
🦀 Rust 1.83http://localhost:8700/09/healthcompose.rust.ymlREADME del stack

El expediente completo

El caso no empieza en el codigo: empieza en el sintoma y termina en el postmortem.

← Caso 08Caso 10 →