- Descomposición de Servicios: Divide la aplicación en servicios pequeños e independientes, esto facilita el desarrollo, mantenimiento y despliegue, permitiendo escalabilidad y actualizaciones específicas.
- Autonomía de Servicios: Cada microservicio debe ser independiente e idealmente tener su propia base de datos, permitiendo así autonomía, minimizando acoplamientos excesivos entre servicios.
- Comunicación Asíncrona: Fomenta la comunicación a través de mensajes asíncronos, permitiendo mayor operabilidad si estar aguardando "respuestas", e informando el resultado de las operaciones mediante eventos, facilitando de esta manera la integración y mejora la resistencia al fallo, ya que los servicios pueden funcionar de manera independiente.
- Gestión de Datos Descentralizada: Cada servicio maneja y gestiona sus propios datos, evita la complejidad de una gran base de datos monolítica, mejorando la escalabilidad y el rendimiento.
¿Cuáles consideras son los factores a tener en cuenta al momento de determinar su implementación? Los leo...