Perché ci sono più backend in questo sistema? [chiuso]

-3

Sto cercando di capire l'architettura del sistema descritto in questo brevetto sull'aggregazione e l'analisi dei dati riservati: link .

Lo schema generale mostra tre diversi backend in questo sistema: Confidential data backend , Backend queue e ETL backend :

Perché ci sono più backend in questo sistema e qual è il loro scopo?

    
posta MikiBelavista 07.12.2018 - 12:13
fonte

2 risposte

3

In molti sensi, la domanda mi sembra troppo ampia e sarà difficile darti una risposta precisa alla domanda Che cosa fanno tutti questi backend? . Tuttavia, possiamo leggere il diagramma e indovinare.

Un concetto chiave qui è separazione delle preoccupazioni . Uno secondario potrebbe essere computing distribuito . Per brevità, concentriamoci sul primo 1 .

Quello che vedi è un backend complesso comprendente diversi processi ognuno dei quali è specializzato su una preoccupazione specifica (lavoro, compito, qualunque cosa ).

Pensa a qualsiasi azienda la cui natura implichi il trattamento dei dati attraverso diverse fasi, ognuna delle quali avviene in momenti diversi, con requisiti diversi, con diverse esigenze di prestazioni, affidabilità, coerenza, ecc.

Invece di un "backend" monolitico che fa tutto quanto sopra menzionato, l'intera azienda viene sezionata in modo che ogni parte venga eseguita in fasi diverse da processi dedicati, diversi e interconnessi.

Potrebbero esserci molte motivazioni per andare con questa architettura, dall'economico al tecnico. Quello che ha causato il nostro diagramma non possiamo dirlo, ma possiamo indovinare (di nuovo).

Guardando il diagramma la presenza di una coda potrebbe suggerire la necessità di prestazioni elevate, l'ETL suggerisce complessità nell'assunzione dei dati e il flusso di lavoro suggerisce che le regole aziendali siano eseguite in un modo molto specifico, tempo e ordine. L'API suggerisce che potrebbero esserci clienti che monitorano e gestiscono i dati. Il backend di dati riservati sembra un controller anteriore per consentire ai client di inviare nuovi dati. Complessivamente mi fanno sembrare un sistema in cui potrebbero esserci potenzialmente molti clienti che inviano dati e ne monitorano contemporaneamente lo stato.

Link correlati

Varie

1: Guardando il diagramma non possiamo dire se il sistema è distribuito come distribuito o meno. Ma la separazione delle preoccupazioni è abbastanza evidente.

    
risposta data 07.12.2018 - 13:10
fonte
1

Analisi dei componenti di sistema:

  • un backend principale chiamato Confidential data backend : funge da facade al mondo esterno, ricevendo richieste front-end e comunicando con servizi esterni attraverso un sottocomponente chiamato Data bus . Interagisce anche con un database.
  • a Backend queue : la coda riceve tutto il suo input da Data bus ma fornisce l'output solo all'ETL . Questa comunicazione unidirezionale suggerisce che il suo scopo è quello di implementare un'elaborazione asincrona. Può essere utilizzato per assorbire i picchi (ad esempio i dati di massa ricevuti dai servizi esterni) o per consentire all'ETL di distribuire il carico tra diversi processi / thread (ad esempio per l'elaborazione di grandi volumi).
  • an ETL Backend : elabora i dati dalla coda ed esegue Extract-Transform-Load per aggiornare / alimentare il database

Prime conclusioni:

  • i backend multipli sembrano implementare un approccio alla pipeline , allo scopo di gestire grandi volumi di dati (picchi di caricamento, elaborazione di massa, ...) in modo da impedire che il back-end sia bloccato o lento per utenti front-end e servizi esterni.

  • è possibile che la moltiplicazione dei backend sia anche legata alla sicurezza (compartimentazione e controllo degli accessi): questa architettura sposta rapidamente i dati dal Confidential data backend che interagisce con il mondo esterno ed è più esposto agli aggressori.

Ulteriori osservazioni:

  • IMHO, se rimuovi la parola "confidenziale", sembra proprio un'architettura ordinaria per gestire grandi volumi, con il "flusso di lavoro della rilevanza" che è una sorta di processo analitico che produce risultati analitici (poeticamente chiamato "intuizione" qui) che sono memorizzati con alcune misure della loro accuratezza prevista.
  • La mia risposta è stata scritta prima che il riferimento del brevetto fosse aggiunto alla domanda. Pertanto, non tiene conto delle informazioni aggiuntive fornite nelle dichiarazioni di brevetto.
risposta data 07.12.2018 - 12:47
fonte

Leggi altre domande sui tag