Sie haben beide das Konzept eines Benutzers und werden durch gegenseitige Anrufe über Benutzer sprechen.
Ich stimme auch dem zu, was @soru gesagt hat. Wenn ein Dienst die Daten eines anderen Dienstes benötigt, sind deren Grenzen falsch.
@Pnschofield hat sich eine gute Lösung ausgedacht: Behandeln Sie Ihre Services als begrenzten Kontext.
In Kürze: Shared Domain-Modelle verhindern die Autonomie von Diensten und verwandeln Ihr Microservice-System in einen verteilten Monolithen. Was anscheinend noch schlimmer ist als ein Monolith.
Es ist also immer noch eine allgemeine Frage ungelöst - wie werden Service- oder Kontextgrenzen definiert, damit sie in hoher Kohäsivität und loser Kopplungsgüte gedeihen.
Ich fand eine Lösung, um meine Kontexte als Geschäftsfähigkeit zu behandeln. Es ist eine übergeordnete Geschäftsverantwortung, eine Geschäftsfunktionalität, die zum allgemeinen Geschäftsziel beiträgt. Sie können sich diese Schritte als Schritte vorstellen, die Ihr Unternehmen ausführen muss, um geschäftlichen Nutzen zu erzielen.
Meine typische Abfolge von Schritten zum Ermitteln von Dienstgrenzen lautet wie folgt:
- Identifizieren Sie übergeordnete Geschäftsfunktionen. Normalerweise sind sie bei Organisationen aus derselben Domäne ähnlich. Sie können ein Gefühl dafür bekommen, wie es aussieht, wenn Sie das Wertschöpfungskettenmodell von Porter überprüfen .
- Tauchen Sie in die einzelnen Funktionen ein und identifizieren Sie untergeordnete Funktionen.
- Beachten Sie die Kommunikation zwischen den Funktionen. Schauen Sie sich an, was eine Organisation tut. In der Regel konzentriert sich die Kommunikation auf Fähigkeiten und informiert den Rest über das Ergebnis seiner Arbeit. Bei der Implementierung der technischen Architektur sollte Ihr Service daher auch über Ereignisse kommunizieren. Dies hat mehrere positive Konsequenzen. Mit diesem Ansatz sind Ihre Dienste autonom und kohärent. Sie benötigen keine synchrone Kommunikation und verteilte Transaktionen.
Wahrscheinlich würde Sie ein Beispiel für diese Technik interessieren. Zögern Sie nicht, mir Ihre Meinung mitzuteilen, da ich diesen Ansatz für sehr profitabel befunden habe. Sicher, es kann auch für Sie funktionieren.