🛡️ Lab: Runtime de producción

⬅️ Volver a los laboratorios · 📚 Parte 19 · 🎓 Clase 324 (capstone)

La capa que conecta un juego con el mundo real y lo mantiene en pie cuando ese mundo falla: cliente con reintentos y circuit breaker, configuración remota con defectos compilados, feature flags con kill switch, telemetría gobernada por consentimiento y guardado versionado con migraciones.

Y el requisito que define el laboratorio: funciona entero sin red, sin claves de API, sin servicios de pago y de forma determinista. Todo lo remoto está detrás de un MockBackend que simula latencia, errores 4xx y 5xx, caída total, respuestas corruptas y fallos intermitentes. Eso no es una simplificación para el ejercicio: es como se prueban estos sistemas en la industria, porque un backend real no te deja provocar una caída del 100 % a las tres de la tarde.

📦 Qué hay dentro

Pieza Archivo Clase
Contrato de backend infraestructura/proveedor.gd 311
Mock determinista con 7 modos de fallo infraestructura/mock_backend.gd 324
Circuit breaker infraestructura/interruptor.gd 311
Cliente con reintentos, caché y cola infraestructura/backend.gd 311
Config con esquema y defectos infraestructura/config.gd 315
Feature flags y kill switch infraestructura/flags.gd 315
Telemetría con taxonomía y consentimiento infraestructura/telemetria.gd 317
Guardado con migraciones infraestructura/guardado.gd 307

🚀 Cómo usarlo

godot --path labs/production-runtime/inicio
godot --headless --path labs/production-runtime/solucion --script res://pruebas/runtime_test.gd

La versión inicio/ tiene los TODO en las piezas que de verdad importan: la validación del esquema de configuración, la resolución de flags con su bucket determinista, la lectura resiliente del backend, los tres filtros de la telemetría y las dos migraciones de guardado. Arranca igual, y por eso se ve enseguida qué se pierde sin ellas.

✅ Qué verifica la CI

== 91 comprobaciones, 0 fallos ==

🔍 Qué NO cubre