Sto cercando di implementare Microservice per capire l'architettura e come funziona la comunicazione. Molti articoli affermano che i servizi dovrebbero seguire il principio della singola responsabilità, ma è piuttosto difficile da ottenere. Ad esempio, devo cercare Item e ottenere tutte le informazioni (incluso lo stock).
Quindi ho due servizi:
- Un servizio oggetti che si occupa di tutto ciò che riguarda l'oggetto. Ha sotto-servizi come
ItemSearchService
,ItemCreationService
, ecc. - Un servizio di magazzino il cui compito è aggiornare le scorte, ottenere informazioni sui titoli ecc.
Va bene se lo faccio:
- Una chiamata di riposo a
ItemSearchService.searchById()
- Ciò otterrà le informazioni (escluse le informazioni di borsa)
- Una chiamata di riposo a
StockService.getStockCount()
- Ciò otterrà informazioni di borsa
- Il controllo viene restituito a
ItemSearchService
, dove le informazioni del servizio di borsa vengono aggregate e viene restituito il risultato di ricerca
La mia preoccupazione: sta infrangendo il principio della singola responsabilità? Perché la responsabilità di ricerca è solo per cercare, e qui si ottengono anche le informazioni di borsa.