Come dovrei spostare periodicamente i dati di controllo su un altro microservizio?

1

Ho letto molto sui microservizi e ho cercato di dividere logicamente il mio sistema di conseguenza.

Per la maggior parte, il mio sistema avrà un database centrale in cui avrò alcuni trigger su tabelle di entità importanti che creeranno un controllo di tutte le modifiche ai dati. Questo trigger scriverà un log nello stesso database ma in alcune tabelle separate.

Penso che questi dati debbano esistere in un database separato in un altro microservizio. Il mio pensiero qui è corretto rispetto all'architettura dei microservizi? Qual è il modo migliore per spostare questi dati su un altro microservizio? Un processo batch che viene eseguito ogni x minuti che sposta i record nel microservizio di controllo? Desidero che questi dati vengano inviati al microservizio di controllo il più rapidamente possibile. Postgres ha una funzione integrata per questo?

    
posta Lock 04.07.2018 - 18:19
fonte

1 risposta

2

I trigger non sono un ottimo modo per creare un controllo.

Sei limitato nei dati che puoi vedere, una singola operazione logica può creare più record e come hai trovato difficile mettere il record di controllo da qualche altra parte rispetto al database.

In un mondo di microservizi proteggerei il tuo database con un'API. L'API quindi scriverà i record di controllo su un microserivce di Audit separato con il proprio datastore.

Questo ha il vantaggio di darti un maggiore controllo sul record di audit, maggiori informazioni da inserire e consente di centralizzare i dati di audit da molte fonti in un unico posto.

    
risposta data 05.07.2018 - 09:34
fonte

Leggi altre domande sui tag