They both have a concept of a User, and will talk about Users through calls to each other.
Sono anche d'accordo con ciò che @soru ha detto. Se un servizio ha bisogno di dati di un altro servizio, i loro limiti sono errati.
Una bella soluzione è ciò che @pnschofield ha ideato: tratta i tuoi servizi come contesti limitati.
Parlando dell'argomento, mettilo tra poco: i modelli di dominio condiviso uccidono l'autonomia del servizio, trasformando il tuo sistema di microservizi in un monolite distribuito. Che è apparentemente anche peggiore di un monolite.
Quindi c'è ancora una questione generale non risolta - come definire i confini del servizio o del contesto, in modo che prosperino in alta coesione e in una buona qualità di accoppiamento.
Ho trovato una soluzione per trattare i miei contesti come una capacità aziendale. È una responsabilità aziendale di livello superiore, la funzionalità aziendale, che contribuisce all'obiettivo generale dell'azienda. Puoi pensare a loro come a passi che la tua organizzazione deve percorrere per ottenere valore per il business.
La mia tipica sequenza di passaggi che passo quando identifico i limiti del servizio è la seguente:
- Identifica le capacità aziendali di livello superiore. Di solito sono simili tra le organizzazioni dello stesso dominio. Puoi avere un'idea di come appare selezionando modello della catena del valore di Porter .
- All'interno di ciascuna funzionalità, approfondisci e identifica le funzionalità secondarie.
- Nota la comunicazione tra le funzionalità. Guarda cosa fa un'organizzazione. Di solito, la comunicazione è concentrata all'interno delle capacità, notificando il resto sul risultato del suo lavoro. Pertanto, quando si implementa l'architettura tecnica, il servizio deve comunicare anche tramite eventi. Questo ha molteplici conseguenze positive. Con questo approccio i tuoi servizi sono autonomi e coesi. Non hanno bisogno di comunicazione sincrona e transazioni distribuite.
Probabilmente un esempio di questa tecnica sarebbe di un certo interesse per voi. Non esitate a farmi sapere cosa ne pensate, dal momento che ho trovato questo approccio davvero redditizio. Certo che può funzionare anche per te.