Soy nuevo en microservicios y, según tengo entendido, DDD dice que los microservicios se construirán en torno a dominios comerciales. Esto significa que los buenos microservicios serían como AppointmentScheduler y SendNotification en el contexto de un sistema de reserva de reuniones.
En este ejemplo, ambos microservicios requerirán acceso a los datos del usuario para cumplir con sus funciones comerciales, y estoy luchando con la mejor manera de proporcionarlos.
Para mí, un Usuario parece un objeto que debería existir como una entidad dentro de un microservicio , pero necesitaría existir en la mayoría de los microservicios ya que los datos del usuario se requieren en casi todas partes. Esto también introduce mucha duplicación.
La otra opción es tener un microservicio de usuario que proporcione operaciones CRUD en la base de datos del usuario. Esto puede ser utilizado por otros microservicios para acceder a los datos del usuario, pero el problema que tengo con él es que une estrechamente los servicios hasta el punto en que terminamos con un monolito distribuido, que es ligeramente mejor que un monolito en sí mismo.
¿Mi razonamiento parece válido? ¿Cómo están lidiando los demás con el problema?