La mia azienda sta attualmente lavorando all'adozione di un'architettura a microservizi, ma stiamo incontrando alcuni dolori crescenti (shock!) Lungo la strada. Uno dei principali punti di contesa che stiamo affrontando è come comunicare grandi quantità di dati tra i nostri diversi servizi.
Come sfondo abbiamo un archivio documenti che funge da archivio per qualsiasi documento che potremmo dover gestire in tutta l'azienda. L'interazione con detto negozio avviene tramite un servizio che fornisce a un cliente un ID univoco e una posizione per lo streaming del documento. È possibile accedere successivamente alla posizione del documento tramite una ricerca con l'ID fornito.
Il problema è questo: ha senso che tutti i nostri microservizi accettino questo ID univoco come parte della loro API allo scopo di interagire con i documenti o no? Per me questo sembra intrinsecamente sbagliato: i servizi non sono più indipendenti e si basano sul servizio dell'archivio documenti. Anche se riconosco che ciò potrebbe semplificare la progettazione dell'API e forse avere anche alcuni vantaggi in termini di prestazioni, l'accoppiamento risultante più che controbilanciare i vantaggi.
Qualcuno sa come gli unicorni arcobaleno (Netflix, Amazon, Google, ecc.) Gestiscono lo scambio di file / dati di grandi dimensioni tra i loro servizi?