Arquitectura donde todos los componentes de una aplicación están interconectados como una sola unidad.
A menudo se contrasta con la arquitectura de microservicios. Más simple de desarrollar inicialmente pero difícil de escalar.
// Arquitectura monolítica // Todo en una sola aplicación src/ ├── controllers/ │ ├── UserController.ts │ ├── ProductController.ts │ └── OrderController.ts ├── models/ │ ├── User.ts │ ├── Product.ts │ └── Order.ts ├── services/ │ ├── AuthService.ts │ ├── PaymentService.ts │ └── EmailService.ts └── index.ts // Un solo punto de entrada // Ventajas del monolito: // ✅ Simple de desarrollar y desplegar // ✅ Fácil de debuggear // ✅ No hay latencia entre servicios // ✅ Transacciones ACID fáciles // Desventajas: // ❌ Difícil de escalar componentes individuales // ❌ Un error puede tumbar toda la app // ❌ Acoplamiento entre módulos // ❌ Despliegues grandes y arriesgados // Cuándo usar monolito: // - Proyectos pequeños/medianos // - Equipos pequeños // - MVP o prototipos // - Dominios simples