La maggior parte delle persone dice quando costruisce micro-services
, che è meglio avere database separati per ciascuno dei microservizi.
per esempio:
User-Microservice:
- DB - Utente
- userId
- nome
- Etc ...
Review-Microservice:
- DB - Revisione
- userId | L'utente che ha pubblicato la recensione
- Review-Descrizione
Ma stavo pensando, è meglio avere un ORM
che costruisca le tabelle del database, aggiunga le chiavi esterne, le chiavi primarie, gli indici, ecc ... E poi fai usare ciascuno dei micro-servizi database che è stato creato da ORM
.
Ciò imporrebbe vincoli, che sarebbero si spera di impedire il numero di bug / problemi che incontrerai in seguito, Sarebbe anche d'aiuto con le prestazioni delle query (join, indici, ecc ...).
Ecco cosa sto pensando:
Al momento disponiamo di un'API monolitica che contiene un sacco di codice (anni di esso) e un progetto di schema DB complesso, sto pensando di creare micro-servizi in Java
e utilizzando hibernate
per creare modelli basati su lo schema django
.
È un buon approccio?