Tôi chưa quen với microservice và theo hiểu biết của tôi, DDD nói rằng microservice sẽ được xây dựng xung quanh các lĩnh vực kinh doanh. Điều này có nghĩa là các dịch vụ tốt sẽ giống như AppointmentScheduler và SendNotification trong bối cảnh hệ thống đặt phòng họp.
Trong ví dụ này, cả hai dịch vụ siêu nhỏ này sẽ yêu cầu quyền truy cập vào dữ liệu người dùng để thực hiện các chức năng kinh doanh của họ và tôi đang vật lộn với cách tốt nhất để cung cấp nó.
Đối với tôi, một Người dùng có vẻ như là một đối tượng nên tồn tại như một thực thể trong microservice , nhưng nó sẽ cần tồn tại trong hầu hết các dịch vụ siêu nhỏ vì dữ liệu người dùng được yêu cầu ở hầu hết mọi nơi. Điều này cũng giới thiệu rất nhiều sự trùng lặp.
Tùy chọn khác là có một microservice User cung cấp các hoạt động CRUD trên cơ sở dữ liệu người dùng. Điều này sau đó có thể được sử dụng bởi các dịch vụ siêu nhỏ khác để truy cập dữ liệu người dùng, nhưng vấn đề tôi gặp phải là nó kết hợp chặt chẽ các dịch vụ với nhau đến mức chúng ta kết thúc với một khối nguyên khối phân tán, tốt hơn một chút so với nguyên khối.
Liệu lý luận của tôi có vẻ hợp lệ? Làm thế nào những người khác đối phó với vấn đề?