🧪 Problem-Driven Systems Lab
🧩 Caso 08 · Arquitectura

Extraccion de modulo critico sin romper operacion

Se necesita desacoplar una parte clave del sistema, pero esa parte participa en flujos sensibles y no admite quiebres.

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

📈 Que cambia para el negocio

Permite extraer un modulo critico sin cortar checkout, partners ni backoffice.

💼 Que demuestra tecnicamente

Subraya criterio de refactor y separacion de dominios sobre sistemas ya en operacion.

✅ Evidencia que deja

  • Contrasta /pricing-bigbang y /pricing-compatible sobre los mismos consumidores sensibles.
  • Hace visible compatibility_proxy_hits, contract_tests y progreso de cutover por consumidor.
  • Expone extraction/state, flows y diagnostics/summary para seguir compatibilidad y shadow traffic.

👀 Que mirar al ejecutarlo

  • Si rule_drift o partner_contract rompen en big bang y quedan contenidos en compatible.
  • Si el progreso por consumidor sube sin perder contrato publico.
  • Si diagnostics/summary deja clara la diferencia entre corte brusco y extraccion segura.
Honestidad: No simula un rollout distribuido completo ni feature flags globales. Si deja visible la logica clave: proxy de compatibilidad, contratos y cutover gradual.

Como esta resuelto en cada stack

PHP 8.3 con extraccion big bang vs compatible, proxy y cutover gradual; Java 21 con Function proxy + CopyOnWriteArrayList<Consumer> event bus; .NET 8 con ImmutableList<T> + event Action event bus y cutover gradual

StackHealth check localComposeDetalle
🐘 PHP 8.3http://localhost:8100/08/healthcompose.root.ymlREADME del stack
🐍 Python 3.12http://localhost:8200/08/healthcompose.python.ymlREADME del stack
🟢 Node.js 22http://localhost:8300/08/healthcompose.nodejs.ymlREADME del stack
☕ Java 21http://localhost:8400/08/healthcompose.java.ymlREADME del stack
🔵 .NET 8http://localhost:8500/08/healthcompose.dotnet.ymlREADME del stack
🐹 Go 1.23http://localhost:8600/08/healthcompose.go.ymlREADME del stack
🦀 Rust 1.83http://localhost:8700/08/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 07Caso 09 →