Microservices e "Master Data Management" - sono compatibili?

0

La mia comprensione è che l'archivio dati separato per servizio è una best practice nell'architettura dei microservizi. Questo articolo di Nginx lo menziona, ma continua a sostenere un Master Data Sistema di gestione per garantire la coerenza dei dati tra diversi data store. Come possono coesistere pacificamente? Mi sembra che ogni singolo servizio sarebbe in competizione con la soluzione MDM per "possedere" i diritti per creare / aggiornare / dati principali.

Mi piacerebbe sapere da chiunque abbia una soluzione MDM oltre a un archivio dati separato per servizio. Che strumenti MDM stai usando? Non ogni servizio "padroneggia" i propri dati - ad esempio, i dati dell'ordine non devono essere scritti SOLO tramite il microservizio dell'ordine? Se la soluzione MDM rileva un problema relativo alla coerenza dei dati attorno ai dati dell'Ordine, istruisce il servizio Ordine a riconciliarlo - oppure ciò avviene nello strumento MDM?

Inoltre, come si fa a stare su una soluzione MDM senza introdurre indesiderati accoppiamenti tra i servizi e la soluzione MDM? I team che sviluppano servizi dovrebbero essere in grado di cambiare schema secondo necessità, ma una soluzione MDM dovrebbe conoscere i dettagli intimi dello schema e quindi essere strettamente accoppiata, giusto?

    
posta Andy 08.11.2018 - 22:48
fonte

1 risposta

2

Domanda: qual è il vantaggio di implementare un'infrastruttura microservice (uS) oltre ad avere un enorme sistema MDM in alto / in parallelo?

Se i diversi u contengono tutti i dati rilevanti e possiedono quei dati nel senso di essere realmente responsabili e il sistema "master" per quei dati, allora non ha senso avere quei dati all'interno di un software MDM in cima .

Esempio: il servizio A è l'unico sistema responsabile per i dati A e si preoccupa di distribuire tali dati A a qualsiasi sistema che abbia bisogno di A. Il Servizio A potrebbe essere un SU con un'astrazione RESTful HA dei suoi dati. Ora: diciamo che un utente riconosce un errore nei dati A all'interno del sistema B. Al fine di mantenere la coerenza dei dati e l'origine della verità, l'utente non può modificare i dati A nel sistema B, ma deve modificarlo in servizio A perché il servizio A è il master per i dati A.

In una tale architettura: perché avresti bisogno di un MDM dedicato? Cosa pensi?

    
risposta data 20.12.2018 - 11:26
fonte

Leggi altre domande sui tag