GNU/Linux >> Linux Esercitazione >  >> Cent OS

Spiegazione dell'architettura del nulla condiviso

Introduzione

Perché aziende come Google e Facebook utilizzano l'architettura Shared Nothing e in che cosa differisce dagli altri modelli?

Continua a leggere per scoprire cos'è Shared Nothing, come si confronta con altre architetture e i suoi vantaggi e svantaggi.

Che cos'è l'architettura del nulla condiviso?

Shared Nothing Architecture (SNA) è un'architettura di elaborazione distribuita composta da più nodi separati che non condividono risorse. I nodi sono indipendenti e autosufficienti in quanto dispongono di spazio su disco e memoria propri.

In un tale sistema, il set di dati/il carico di lavoro è suddiviso in set più piccoli (nodi) distribuiti in diverse parti del sistema. Ogni nodo ha la propria memoria, storage e interfacce di input/output indipendenti. Comunica e si sincronizza con altri nodi attraverso una rete di interconnessione ad alta velocità. Tale connessione garantisce bassa latenza, larghezza di banda elevata e disponibilità elevata (con un'interconnessione di backup disponibile in caso di guasto del primario).

Poiché i dati sono partizionati orizzontalmente, il sistema supporta la crescita incrementale. Puoi aggiungere nuovi nodi per ridimensionare il sistema distribuito orizzontalmente e aumentare la capacità di trasmissione.

Diagramma dell'architettura del nulla condiviso

Il modo migliore per comprendere l'architettura del modello del nulla condiviso è vederlo fianco a fianco con altri tipi di architetture.

Di seguito puoi vedere la differenza tra componenti condivisi e non condivisi in diversi modelli - Tutto condiviso , Archiviazione condivisa , e Nulla condiviso .

A differenza degli altri, SNA non ha risorse condivise. L'unica cosa che connette i nodi è il livello di rete, che gestisce il sistema e la comunicazione tra i nodi.

Spiegazione di altri tipi di architettura condivisa

Il concetto di "niente condiviso" è stato introdotto per la prima volta da Michael Stonebraker nel suo documento di ricerca del 1986, in cui metteva a confronto l'architettura del disco condiviso e della memoria condivisa. Confrontando queste due opzioni, Stonebraker ha incluso la possibilità di creare un sistema in cui né memoria né storage sono condivisi.

Quando si decide se SNA è la soluzione per il proprio caso d'uso, è meglio confrontarlo con altri tipi di cluster. Le opzioni alternative includono:

  • Architettura del disco condiviso
  • Architettura della memoria condivisa
  • Architettura condivisa di tutto

Architettura del disco condiviso

Il disco condiviso è un'architettura di calcolo distribuito in cui tutti i nodi del sistema sono collegati allo stesso dispositivo disco ma dispongono di una propria memoria privata. I dati condivisi sono accessibili da tutti i nodi del cluster e di solito rappresentano un disco condiviso (come un database) o un filesystem condiviso (come una rete dell'area di archiviazione o una memoria collegata alla rete). L'architettura del disco condiviso è la migliore per i casi d'uso in cui il partizionamento dei dati non è un'opzione. Rispetto a SNA, è molto meno scalabile.

Architettura a memoria condivisa

La memoria condivisa è un modello architettonico in cui i nodi all'interno del sistema utilizzano una risorsa di memoria condivisa. Questa configurazione offre semplicità e bilanciamento del carico in quanto include connessioni point-to-point tra i dispositivi e la memoria principale. Una comunicazione rapida ed efficiente tra i processori è fondamentale per garantire una trasmissione efficiente dei dati ed evitare la ridondanza. Tale comunicazione avviene attraverso una rete di interconnessione e gestita da un unico sistema operativo.

Architettura condivisa di tutto

Sul lato opposto dello spettro, c'è l'architettura del tutto condivisa. Questo modello architettonico è costituito da nodi che condividono tutte le risorse all'interno del sistema. Ogni nodo ha accesso alle stesse risorse di calcolo e allo stesso storage condiviso. L'idea principale alla base di un tale sistema è massimizzare l'utilizzo delle risorse. Lo svantaggio è che le risorse condivise portano anche a prestazioni ridotte a causa della contesa.

Vantaggi e svantaggi dell'architettura del nulla condiviso

Se confrontata con le diverse architetture condivise sopra menzionate, è chiaro che l'architettura Shared Nothing offre molti vantaggi. Dai un'occhiata ad alcuni dei vantaggi e degli svantaggi di un tale modello.

Vantaggi

Ci sono molti vantaggi di SNA, i principali sono la scalabilità, la tolleranza agli errori e la riduzione dei tempi di inattività.

Più facile da scalare

Non ci sono limiti quando si tratta di ridimensionare nel modello del nulla condiviso. La scalabilità illimitata è una delle migliori caratteristiche di questo tipo di architettura. Poiché i nodi sono indipendenti e non condividono le risorse, l'aumento della scalabilità dell'applicazione non interromperà l'intero sistema né causerà conflitti di risorse.

Elimina i singoli punti di errore

Se uno dei nodi nell'applicazione si guasta, non influisce sulla funzionalità degli altri poiché ogni nodo è autosufficiente. Sebbene l'errore del nodo possa influire sulle prestazioni, non interrompe il comportamento generale dell'app nel suo insieme.

Semplifica gli aggiornamenti e previene i tempi di inattività

Non è necessario arrestare il sistema mentre si lavora o si aggiornano i singoli nodi. Grazie alla ridondanza, l'aggiornamento di un nodo alla volta non influisce sull'efficacia degli altri. Inoltre, avere copie ridondanti di dati su nodi diversi evita tempi di inattività imprevisti causati da guasti del disco o perdita di dati.

Svantaggi

Dopo aver considerato i vantaggi di SNA, dai un'occhiata ad un paio di svantaggi che possono aiutarti a decidere se è l'opzione migliore per te.

Costo

Un nodo è costituito dal suo singolo processore, memoria e disco. Avere risorse dedicate significa essenzialmente costi più elevati quando si tratta di configurare il sistema. Inoltre, la trasmissione di dati che richiedono l'interazione del software è più costosa rispetto alle architetture con spazio su disco e/o memoria condivisi.

Rendimento ridotto

Il ridimensionamento del sistema può eventualmente influire sulle prestazioni complessive se il livello di comunicazione incrociata non è impostato correttamente.


Cent OS
  1. Spiegazione dell'architettura Apache Hadoop (con diagrammi)

  2. Come accedere a cPanel (spiegazione)

  3. CWP – Ricostruzione di Apache

  4. Makefile per non fare nulla

  5. Architettura del server NTP

Spiegazione dei server Big Data

Cosa sono i microservizi? Introduzione all'architettura dei microservizi

Come proteggere il server CentOS 7 con ModSecurity

Spiegazione del comando procinfo in Linux

Spiegazione del comando Arping su Linux

Spiegazione del comando AWS S3 cp