Etiqueta: #Spring Boot
← Volver al blog completo
Día 14: Cambiaste una clase y rompiste 10 más. Efecto dominó.
Alto acoplamiento, baja cohesión. Cambias un DTO y te explota medio sistema. Cómo separar modelos por capa para eliminar el efecto dominó. Día 14 de #100ArchitectureDays.
Día 13: Tu clase tiene 50 métodos. Hace de todo. No hace nada bien.
Ese OrderService, UserManager o PedidoController que todos tocan y nadie entiende es un God Object — y te está costando plata real. Cómo identificarlo y desarmarlo con SRP. Día 13 de #100ArchitectureDays.
Día 12: 5.000 personas hicieron click al mismo tiempo. Tu servidor pidió perdón.
Tu API no tiene límites. Cualquiera puede hacer las requests que quiera, a la velocidad que quiera. Rate limiting y el algoritmo Token Bucket. Día 12 de #100ArchitectureDays.
Día 11: System.out.println en producción — la confesión que nadie hace
Tus logs son ruido puro. Sin timestamp, sin nivel, sin contexto. A las 3AM con producción caído, ese println no te va a salvar. Día 11 de #100ArchitectureDays.
Día 10: Le pusiste índices a todo y ahora los INSERT tardan 800ms
Los índices no son gratis. Cada uno acelera una lectura pero frena todas las escrituras. Las 4 reglas para indexar sin romper tu base. Día 10 de #100ArchitectureDays.
Día 9: Tu app funcionó todo el QA. El lunes a las 9am explotó con 100 usuarios.
Connection pools, leaks silenciosos y la matemática de por qué 9 conexiones pueden manejar miles de requests. Día 9 de #100ArchitectureDays.
Día 8: El usuario subió un Excel y tu servidor pidió perdón
HTTP no fue diseñado para operaciones de minutos. Batch processing, async patterns y cómo dejar de torturar a tus usuarios. Día 8 de #100ArchitectureDays.
Día 7: ¿Quién te mandó a optimizar si ni siquiera mediste?
Optimizás a ciegas porque nunca mediste. Profiling con Actuator y Micrometer para encontrar el cuello de botella real. Día 7 de #100ArchitectureDays.
Día 6: Tu caché no funciona y es tu culpa
Pusiste @Cacheable en todo y la app sigue lenta. El problema no es el caché — es lo que estás cacheando. Día 6 de #100ArchitectureDays.
Día 5: N+1 Queries — el bug que tu DBA ya sabe que tenés
Para mostrar 50 usuarios hacés 250 queries a la base de datos. Tu DBA te odia y tiene razón. Día 5 de #100ArchitectureDays.
Día 4: Tu endpoint devuelve TODO. El frontend explota. La red llora.
Offset vs cursor pagination: cuándo usar cada una y por qué tu app necesita esto ya. Día 4 de #100ArchitectureDays.
Día 3: Agregaste un índice y la consulta sigue lenta. El problema no era el índice.
EXPLAIN ANALYZE es tu mejor amigo. Aprende a leer un query plan antes de optimizar a ciegas. Día 3 de #100ArchitectureDays.
Día 2: El SELECT * que arruinó tu API (y vos ni te enteraste)
Tu API responde en 10 segundos porque estás trayendo columnas que nadie necesita. Día 2 de #100ArchitectureDays.
#100ArchitectureDays: 110 problemas reales de arquitectura, con código, sin humo
Arranco un reto de 110 días donde resuelvo un problema real de arquitectura de software por día. Con Spring Boot, código que compila, y métricas reales.
Día 1: Tu app tarda 11 segundos en arrancar y vos pensás que es normal
De 10.7s a 1.3s de startup. El problema no es Spring Boot — es cómo inicializás tus servicios. Día 1 de #100ArchitectureDays.
Spring Boot 4: lo que cambió, lo que se rompió y lo que nadie te cuenta
Llevo meses migrando proyectos a Boot 4. Esto es todo lo que aprendí — con las cicatrices para probarlo.