01

Qué es y qué problema resuelve

Un módulo separa responsabilidades dentro de un despliegue. Un microservicio añade contratos remotos y operación independiente.

Separar procesos puede permitir autonomía, pero también convierte fallos de red y evolución de mensajes en parte del comportamiento cotidiano.

02

Ejemplo paso a paso

Monolito modular y decisión de microservicios · caso de reservasTexto

Punto de partida Decisión original y revisable; no es una receta universal. Diferencia consistencia crítica de un efecto que puede entregarse después.

Antes de ejecutar

Contrato o esquema de diseño para analizar; no es una aplicación ejecutable completa. La evidencia principal es la decisión y su justificación. Una comprobación automatizada requiere implementar el control en una solución preparada.

Decisión: mantener reservas y disponibilidad en un módulo.
Motivo: comparten la garantía de no solapamiento.
Frontera candidata: entrega de avisos mediante outbox.
Revisión: cuando exista necesidad medible de operación independiente.

Cómo funciona

  1. Identifica la garantía que comparten reservas y disponibilidad.
  2. Compara una transacción local con fallos parciales entre servicios.
  3. Documenta qué necesidad medible justificaría separar procesos.

Resultado esperado: El equipo puede explicar cuándo una separación aporta valor y qué pruebas exigiría.

03

Cuándo usarlo y qué debes evitar

Comienza por límites de dominio y datos. Si dos funciones deben confirmar juntas constantemente, separarlas exige una estrategia de consistencia explícita.

Evalúa equipo, escalado y disponibilidad frente al costo de trazas distribuidas, reintentos, despliegue y recuperación. No uses cantidad de carpetas como evidencia de autonomía.

Ampliación opcional · contexto y variantes del tema

Monolito modular y antipatrón de complejidad

Comienza con módulos internos y fronteras de datos explícitas cuando un equipo necesita entregar una aplicación coherente. Separar despliegues exige contratos remotos, observabilidad distribuida, evolución de mensajes y tolerancia a fallos parciales. Un módulo con muchas llamadas síncronas a otro puede empeorar al convertirse en servicio remoto.

Identifica tres señales de sobrearquitectura: interfaces que solo reexpresan una clase; eventos para encadenar pasos que deben ser atómicos; y handlers que atraviesan muchas capas sin agregar significado. Simplificar no significa mezclar permisos con SQL en cualquier endpoint. Conserva las fronteras que protegen cambios y elimina las que solo agregan navegación.

04 · Práctica guiada · opcional

Practica lo aprendido

Compara dos despliegues y un módulo para disponibilidad y reservas.

  1. 01Prepara el ejemplo con las dependencias indicadas en «Antes de ejecutar».
  2. 02Compara dos despliegues y un módulo para disponibilidad y reservas.
  3. 03Comprueba y registra el resultado: El equipo puede explicar cuándo una separación aporta valor y qué pruebas exigiría.
Ver solución orientativa

Documenta transacción, fallos parciales y costo operativo. No concluyas solo por una expectativa genérica de escala.

05

Comprueba lo aprendido

Responde antes de abrir la explicación. Esta comprobación es opcional y no guarda una puntuación.

01¿Un microservicio elimina el acoplamiento?

No. Un contrato remoto mal diseñado puede aumentar acoplamiento.

02¿Qué diferencia hace que avisos sea una frontera distinta de disponibilidad?

Avisos puede procesar trabajo confirmado posteriormente mediante outbox y reintentos. Disponibilidad y reserva comparten una garantía de escritura; separarlas cambia el problema de consistencia.

Cómo demostrar el objetivo

Compara tu práctica con estos resultados. Si solo diseñaste una prueba, registra su resultado como esperado, no como observado.

  • La decisión explica por qué reservas y disponibilidad conservan un límite común.
  • Para avisos identificas contrato, entrega pendiente y fallos que exigirían otra estrategia.

Qué debes recordar

  • Un módulo separa responsabilidades dentro de un despliegue.
  • Un servicio independiente añade contratos y operación propios.
Tu cuaderno · notas personales

Cuaderno local

Tus notas del contenido

Se guardan únicamente en este dispositivo. Puedes exportarlas cuando quieras.

Guardado local automático
Material de apoyo · descarga, glosario y referencias
Libro de trabajo · Monolito modular y decisión de microserviciosLaboratorio C# · núcleo y 15 comprobaciones

Explicaciones, ejemplos y prácticas propios de Academia de Software. Los fragmentos de integración requieren las dependencias indicadas; el ZIP contiene el núcleo de consola. Las lecturas externas se consultan en su sitio original y conservan sus condiciones. Procedencia y condiciones de uso.