Nella nostra applicazione monolite, il codice utilizzato per gestire l'invio di SMS ed e-mail è stato scritto nel nostro livello aziendale. Ora la responsabilità di inviare e-mail e SMS è gestita da un microservizio. Lo chiamo SendMicroservice
. Ora altri microservizi chiamano SendMicroservice
se vogliono inviare e-mail e SMS. Diciamo che questo microservizio è chiamato WantsToSendMicroservice
.
In genere, la norma nella nostra organizzazione è di avere un livello di servizio per parlare con il mondo esterno. Il livello aziendale per prendere decisioni e il livello di accesso ai dati per parlare con i database, solo una tipica architettura a N-layer.
Ora in quale strato di WantsToSendMicroservice
, dovrebbe parlare con SendMicroservice
? Attualmente nella nostra organizzazione, è fatto nel livello aziendale. Ma loro parlano solo con SendMicroservice
. In genere nessuna decisione viene presa lì. Il livello aziendale è il luogo ideale in cui i microservizi possono parlare tra loro o che dovrebbero essere eseguiti in un altro livello? Forse il livello di servizio o qualche altro?