Definizione rigorosa di un sistema distribuito

0

Sto seguendo un corso introduttivo su Sistemi distribuiti e durante la lettura di un tutorial introduttivo l'autore ne discute

5 Rails servers behind a single load balancer all connected to one database, is not an example of a Distributed System

per il motivo che:

A system is distributed only if the nodes communicate with each other to coordinate their actions.

Questo mi ha fatto pensare a quali sono gli esempi del mondo reale che effettivamente rientrerebbero nella definizione di un Sistema Distribuito. Ho trovato una lista qui , e ho scoperto che Electronic Banking è in realtà un esempio, ma non riesco a capire perché. A mio modo di vedere le macchine ATM non comunicano con ogni diritto? Stanno comunicando con una sorta di server centralizzato per comunicare e coordinare le loro azioni. Quindi, come si qualificherebbe come esempio?

Qualcuno potrebbe anche darmi una migliore definizione di un sistema distribuito?

    
posta Varun 30.08.2018 - 16:38
fonte

2 risposte

0

Quando si procede in modo più formale e si utilizzano definizioni rigorose, si dovrebbe come riflesso sistematicamente individuare esattamente dietro ogni termine.

Nel tuo caso, la chiave è il termine sistema : qual è il sistema che consideri per la definizione e più precisamente quali sono i suoi confini.

Ecco alcuni esempi:

  • Se il tuo sistema è l'insieme dei server delle applicazioni, allora il sistema non viene distribuito: ogni nodo del sistema interagisce con nodi esterni che non appartengono al sistema (database, bilanciamento del carico), ma i nodi non lo fanno t coordinare tra loro (nessun app-server alla comunicazione app-server).

  • Se il sistema è il sistema di back-end, composto dal server database, dal servizio di bilanciamento del carico e dai server delle applicazioni, è chiaramente un sistema distribuito, poiché il bilanciamento del carico coordina l'elaborazione delle richieste con i server delle applicazioni, e i server delle applicazioni si coordinano con il database. Il database potrebbe anche essere utilizzato per coordinare due server di applicazioni (ad esempio tramite blocchi o dati tecnici scritti nel database).

Un altro termine è ambiguo: " comunica tra loro ". Capisco alcune comunicazioni tra diversi nodi. Un'interpretazione più restrittiva potrebbe essere possibile, sebbene non sia realistica:

  • Potrebbe significare che tutti i nodi devono comunicare con tutti gli altri? Molti sistemi distribuiti complessi utilizzano intermediari di accodamento per evitare una crescita esponenziale di collegamenti bidirezionali e verrebbero arbitrariamente eliminati da tale definizione.
  • Potrebbe implicare una comunicazione bidirezionale? Bene, dipende quindi dal livello di comunicazione, perché ogni scambio TCP / IP è in realtà bidirezionale a causa dell'ACK.
risposta data 30.08.2018 - 20:00
fonte
0

Termini di informatica come questo vengono ridefiniti a giorni alterni. È meglio chiedere "Che cosa si aspettano le persone da un sistema distribuito al di sopra di un sistema" standard "?

Ciò che si aspettano è che nessuna persona possa distruggere il sistema. "Colui che può distruggere una cosa, controlla una cosa".

Nel caso di una web farm con carico bilanciato standard, una persona di solito controlla tutte le parti. Anche se dividiamo tutto quanto tecnicamente possibile, una persona possiede ancora il record DNS.

Idealmente, un sistema distribuito consente agli utenti di fidarsi della sua esistenza continuando potenzialmente permettendo loro di eseguire il sistema anche se tutti gli altri si fermano.

Ora ovviamente, una volta ottenuto questo concetto di un sistema distribuito ideale, possiamo iniziare a chiamare altre cose "distribuite" anche se non soddisfano completamente l'ideale.

Se distribuisco il mio servizio su due postazioni fisiche, quindi se uno dei due va giù, il mio servizio continua a funzionare, quindi per me è "distribuito". Non mi interessa che decida di non eseguire il servizio.

Ma per i miei utenti non lo è, si affidano a una sola parte, io, per continuare a far funzionare il servizio. Se I 'scende' allora sono bloccati.

    
risposta data 30.08.2018 - 16:54
fonte

Leggi altre domande sui tag