Come le tecnologie di rete Internet e hanno avanzato in raffinatezza e affidabilità , gli ingegneri hanno creato un nuovo modo di gestire i servizi informatici : sistemi distribuiti . Invece di centralizzazione dei dati e la potenza di calcolo in un unico luogo poi inviarlo ai clienti , sistemi distribuiti diffondere sia i dati e le attività di calcolo in più nodi che funzionano all'unisono . Mentre questo tipo di sistema ha molti vantaggi , non è privo di inconvenienti . Prestazioni
Sistemi distribuiti
consentono una maggiore prestazione di servizio globale di sistemi la cui funzione è centralizzata in un unico luogo . Diffondendo il carico computazionale attraverso diversi nodi , ogni posizione è meno sollecitato . Ciò consente ad ogni nodo di eseguire in modo più efficiente , che aumenta le prestazioni del servizio complessivo . Un esempio di come funziona è in servizi di messaggistica alta domanda . Invece di dumping del carico per ogni transazione utente corrente in un unico server , le operazioni sono distribuite su un numero di server diversi . In questo modo , la domanda su ogni singolo nodo è ridotto , ei dati di ogni nodo riceve percolato verso gli altri nodi in background .
Affidabilità
Quando calcolo è centrata attorno a una singola macchina , la salute di quella macchina è la salute di tutto il servizio --- se va giù , così fa l'intero servizio . Tuttavia, i sistemi distribuiti possono continuare a funzionare se un nodo cessa di funzionare . Mentre le richieste di prestazioni sugli altri nodi salirà, come sarà lo stress ogni macchina è sotto , gli altri nodi continueranno a funzionare . Tuttavia , il fallimento in una soglia critica di nodi può ancora portare il servizio verso il basso .
Scalabilità
Poiché i sistemi distribuiti funzionano attraverso una varietà di macchine diverse , essi sono intrinsecamente scalabile. Cioè, il sistema distribuito in grado di regolare il numero di risorse di sistema è fatto uso di alla luce di quale tipo di richiesta il sistema è sotto . Se un sistema è in fase di forte domanda , allora può avere ogni macchina in funzione alla capacità . Tuttavia, se il carico sul sistema è relativamente bassa , può richiedere diverse componenti del sistema distribuito offline per risparmiare energia e usura sul sistema . Quando la domanda sul sistema risale , questi componenti possono tornare in linea .
Sincronizzazione
Quando i servizi eseguiti su un singolo server , non vi è alcuna preoccupazione per la sincronizzazione dei dati : tutti i dati sono semplicemente presenti su quella macchina . Tuttavia, questo diventa un problema nei sistemi distribuiti . Poiché le diverse componenti del sistema distribuiti stanno gestendo diversi compiti e dati in qualsiasi punto nel tempo , ci saranno piccoli periodi di tempo in cui vi sono dati su un componente , ma non su altri . Finché questo nodo di sistema rimane in linea abbastanza a lungo per questi dati temporaneamente uniche per percolato attraverso ad altri nodi , questo non è un problema . Tuttavia, se un nodo va giù prima che prolifera suoi dati unici , ci saranno incongruenze all'interno del sistema .