2015-09-09 8 views
5

Su aspetti della granulateria dei mictoservizi abbiamo letto sulla regola della 2 pizza, servizi che possono essere sviluppati in 2 settimane ecc. Quando vengono letti i casi di studio di amazon, nelflix, gilt sentiamo circa 100 di servizi. Sebbene la granularità del servizio abbia senso, ciò che non mi è ancora chiaro riguarda gli archivi dati di ciascuno di questi microservizi. Non ci saranno troppi archivi dati se ognuno dei servizi memorizza/mantiene i propri dati ?? Potrebbe essere la stessa entità logica come un prodotto, un cliente, ecc., Che viene suddivisa in porzioni da & nella relativa porzione/attributi memorizzati/gestiti da un microservizio corrispondente. Ci potrebbe essere un servizio che gestisce le informazioni di base del cliente, un altro che mantiene le informazioni aggiuntive cliente come dire le sue informazioni di sottoscrizione o di suoi interessi eccMicroservizi - Manutenzione di archivi multipli di dati, caricamento iniziale dei dati ecc.

paio di domande che vengono in mente in giro gli archivi dati

  1. Will questo non è un enorme problema di manutenzione in termini di backup, ripristini ecc.?
  2. Come vengono inseriti i dati iniziali in questi negozi? Ci sono delle buone pratiche in merito? Le organizzazioni sono destinate ad avere enormi volumi di dati sui clienti o sui prodotti & che molto probabilmente saranno gestiti in altri sistemi.
  3. In che modo questo approccio di più archivi di dati influisce sull'approccio "omni-channel" in cui implica ottenere un'unica vista di tutti i dati? Le organizzazioni potrebbero aver avuto iniziative di consolidamento dei dati in corso per ottenere lo stesso

Edit: A cura il soggetto un po '

+0

Questa non è una domanda per SO, dovresti chiederlo su http://programmers.stackexchange.com – luboskrnac

+1

@luboskrnac - Questo non andrebbe bene nemmeno su Programmer. È troppo ampio e un po 'oscuro per ciò che viene effettivamente chiesto. – GlenH7

risposta

0
1.Will this not be a huge maintenance issue in terms of backups, restores etc? 

dalla visualizzazione sì che lo farà. Intendo alla fine della giornata non avrai un solo server di database per il backup, ma decine o centinaia di essi. Ma la maggior parte delle persone - almeno questo è quello che facciamo - sta usando un servizio di database cloud per eliminare tutti questi sforzi di manutenzione.

2.How is the initial data populated into these stores ? Are there any best practices around this ? Organisations are bound to have huge volumes of customer or product data & they will most likely be mastered in other systems. 

Non sono sicuro se c'è un modo migliore, ma abbiamo creato un client per leggere i dati da sistemi legacy poi convertire e dividerlo in parti per ogni microservices e spingerli a quei microservices consumando i loro servizi . Abbiamo usato le code dei messaggi per essere sicuri della salute della migrazione.

3.How does this approach of multiple data stores impact the 'omni-channel' approach where it implies getting a single view of all data? Organizations might have had data consolidation initiatives going on to achieve the same. 

Beh, non so cosa sia "omni-channel", quindi non posso rispondere.

Infine si parlava di entità logiche condivise tra servizi. La parte più difficile sull'implementazione dei microservizi è la definizione di ciò che ciascun servizio fornirà. E mentre lo fai, dovresti esaminare attentamente le esigenze dei dati per ciascun servizio e quei servizi dovrebbero condividere il meno possibile, come solo gli ID entità ecc. Almeno questo è ciò che stiamo facendo.

+0

La tua risposta è arrivata proprio mentre stavo leggendo alcuni meta post sul meccanismo per spostare questa domanda su programmers.SE :-) In Q2, usi sempre i servizi per l'importazione dei dati dal sistema legacy al sistema microservizio. Mentre capisco che, la raccomandazione è di non permettere a nessuno di accedere direttamente al repository dei microservizi, mi chiedo come funzioni per il dataload iniziale quando i record sono in milioni. Potrebbero essere disponibili anche aggiornamenti giornalieri del delta che devono essere portati in migliaia. – user132797

+0

Nel terzo trimestre, ascoltiamo molte soluzioni che si spostano verso un repository di "una sola fonte di verità" al di fuori del quale funzionano tutti i canali (web, mobile o le operazioni del negozio o il servizio clienti). Ma nel mondo dei microservizi si parla di denormalizzazione e di avere più repository. Mi stavo chiedendo se queste sono contraddizioni. L'approccio sarebbe quello di eliminare gli archivi di "fonte unica di verità" e fornire la "singola fonte di verità" a livello di servizio piuttosto che a livello di repository? – user132797

+1

Per il tuo primo commento abbiamo effettivamente implementato alcuni servizi speciali solo per la migrazione. – cool

Problemi correlati