Mejores Prácticas de Arquitectura
Optimiza para el aislamiento del cambio, no para la distribución prematura. Estas prácticas mantienen los backends de Node.js evolucionables sin el costo de los microservicios desde el primer día.
Busca en todas las páginas de la documentación
Optimiza para el aislamiento del cambio, no para la distribución prematura. Estas prácticas mantienen los backends de Node.js evolucionables sin el costo de los microservicios desde el primer día.
modules/orders/ es dueño de los pedidos de principio a fin; evita las carpetas globales controllers/ y services/ que ocultan la propiedad.index.ts son más baratas que el YAML de Kubernetes.infrastructure/.index.ts público. Prohíbe las importaciones profundas en infrastructure/ pares con ESLint o dependency-cruiser en CI.main.ts conecta adaptadores; no contiene reglas de negocio.schemaVersion; los consumidores deben ignorar las versiones desconocidas de forma segura.requestId en cada línea. pino o equivalente; no console.log no estructurados en rutas de producción.engines y CI. Node 24.18.0 LTS Activo; prueba las actualizaciones en una versión dedicada.Nivel A y B. Omite los elementos de extracción de microservicios hasta que tengas un segundo equipo bloqueado en los despliegues.
Automatiza en CI con dependency-cruiser. npm run lint:arch local debe coincidir exactamente con CI.
Sí, si las versiones tienen semver y los consumidores toleran el retraso. Evita importar tipos internos de otro servicio desde un paquete shared monolítico que cambia a diario.
Los módulos de Nest se asignan a módulos de características, pero las carpetas de dominio aún deben evitar @Injectable() si quieres pruebas unitarias puras rápidas.
No. Usa una carpeta de prototipos con un ticket de deuda técnica explícito para refactorizar en módulos antes de contratar al equipo #2.
Cliente Prisma importado de manejadores de rutas con 200 líneas de lógica de negocio: imposible de probar y de extraer.
Los ADRs registran decisiones; esta lista registra la higiene continua. Enlaza los ADRs cuando una casilla de verificación implique una bifurcación importante.
Los límites de los módulos siguen siendo importantes en el diseño del repositorio. Cada Lambda es un nano-servicio; el costo de las operaciones se traslada a IAM y a los arranques en frío.
Trimestralmente para repositorios con más de 12 meses de antigüedad, o después de cualquier incidente atribuido a un "acoplamiento inesperado".
Las importaciones profundas entre módulos tienden a cero en CI, y el tiempo de entrega de despliegue se mantiene estable a medida que aumenta el número de ingenieros.
Versiones de la pila: Esta página fue escrita para Node.js 24.18.0 (LTS Activo), npm 10+, TypeScript 5.6+, Express 5, Fastify 5 y NestJS 11.
Revisado por Chris St. John·Última actualización: 16 jul 2026