GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Shared-Nothing-Architektur erklärt

Einführung

Warum verwenden Unternehmen wie Google und Facebook die Shared-Nothing-Architektur und wie unterscheidet sie sich von anderen Modellen?

Lesen Sie weiter, um zu erfahren, was Shared Nothing ist, wie es im Vergleich zu anderen Architekturen abschneidet und welche Vor- und Nachteile es hat.

Was ist eine Shared-Nothing-Architektur?

Shared Nothing Architecture (SNA) ist eine verteilte Computerarchitektur, die aus mehreren getrennten Knoten besteht, die keine Ressourcen gemeinsam nutzen. Die Knoten sind unabhängig und autark, da sie über eigenen Speicherplatz und Arbeitsspeicher verfügen.

In einem solchen System wird der Datensatz/die Arbeitslast in kleinere Sätze (Knoten) aufgeteilt, die auf verschiedene Teile des Systems verteilt sind. Jeder Knoten hat seinen eigenen Arbeitsspeicher, Speicher und unabhängige Eingabe-/Ausgabeschnittstellen. Es kommuniziert und synchronisiert sich mit anderen Knoten über ein Hochgeschwindigkeits-Verbindungsnetzwerk. Eine solche Verbindung gewährleistet eine geringe Latenz, eine hohe Bandbreite sowie eine hohe Verfügbarkeit (mit einer verfügbaren Backup-Verbindung, falls die primäre Verbindung ausfällt).

Da die Daten horizontal partitioniert sind, unterstützt das System inkrementelles Wachstum. Sie können neue Knoten hinzufügen, um das verteilte System horizontal zu skalieren und die Übertragungskapazität zu erhöhen.

Shared-Nothing-Architekturdiagramm

Der beste Weg, die Architektur des Shared-Nothing-Modells zu verstehen, besteht darin, sie Seite an Seite mit anderen Arten von Architekturen zu sehen.

Unten sehen Sie den Unterschied zwischen gemeinsam genutzten und nicht gemeinsam genutzten Komponenten in verschiedenen Modellen – Shared Everything , Gemeinsamer Speicher , undNichts geteilt .

Im Gegensatz zu den anderen hat SNA keine gemeinsam genutzten Ressourcen. Das einzige, was die Knoten verbindet, ist die Netzwerkschicht, die das System und die Kommunikation zwischen den Knoten verwaltet.

Andere Shared-Architecture-Typen erklärt

Das Konzept des „Shared Nothing“ wurde erstmals von Michael Stonebraker in seiner Forschungsarbeit von 1986 eingeführt, in der er Shared-Disk- und Shared-Memory-Architektur gegenüberstellte. Beim Vergleich dieser beiden Optionen schloss Stonebraker die Möglichkeit ein, ein System zu erstellen, in dem weder Speicher noch Speicher gemeinsam genutzt werden.

Bei der Entscheidung, ob SNA die Lösung für Ihren Anwendungsfall ist, vergleichen Sie es am besten mit anderen Cluster-Typen. Zu den alternativen Optionen gehören:

  • Shared Disk-Architektur
  • Shared-Memory-Architektur
  • Shared Everything-Architektur

Shared-Disk-Architektur

Shared Disk ist eine verteilte Computerarchitektur, bei der alle Knoten im System mit demselben Festplattengerät verbunden sind, aber über ihren eigenen privaten Speicher verfügen. Auf die gemeinsam genutzten Daten kann von allen Cluster-Knoten aus zugegriffen werden, und sie stellen normalerweise eine gemeinsam genutzte Festplatte (z. B. eine Datenbank) oder ein gemeinsam genutztes Dateisystem (z. B. ein Storage Area Network oder Network-Attached Storage) dar. Die Shared-Disk-Architektur eignet sich am besten für Anwendungsfälle, in denen die Datenpartitionierung keine Option ist. Im Vergleich zu SNA ist es weitaus weniger skalierbar.

Shared-Memory-Architektur

Shared Memory ist ein Architekturmodell, bei dem Knoten innerhalb des Systems eine Shared-Memory-Ressource verwenden. Dieses Setup bietet Einfachheit und Lastausgleich, da es Punkt-zu-Punkt-Verbindungen zwischen Geräten und dem Hauptspeicher enthält. Eine schnelle und effiziente Kommunikation zwischen Prozessoren ist der Schlüssel, um eine effiziente Datenübertragung sicherzustellen und Redundanzen zu vermeiden. Diese Kommunikation erfolgt über ein Verbindungsnetzwerk und wird von einem einzigen Betriebssystem verwaltet.

Shared-Everything-Architektur

Auf der anderen Seite des Spektrums gibt es die Shared-Everything-Architektur. Dieses Architekturmodell besteht aus Knoten, die alle Ressourcen innerhalb des Systems gemeinsam nutzen. Jeder Knoten hat Zugriff auf dieselben Rechenressourcen und denselben gemeinsamen Speicher. Die Hauptidee hinter einem solchen System ist die Maximierung der Ressourcennutzung. Der Nachteil ist, dass gemeinsam genutzte Ressourcen aufgrund von Konflikten auch zu einer reduzierten Leistung führen.

Vor- und Nachteile der Shared-Nothing-Architektur

Im Vergleich zu den oben erwähnten verschiedenen gemeinsam genutzten Architekturen ist klar, dass die Shared-Nothing-Architektur viele Vorteile bietet. Werfen Sie einen Blick auf einige der Vor- und Nachteile eines solchen Modells.

Vorteile

Es gibt viele Vorteile von SNA, die wichtigsten sind Skalierbarkeit, Fehlertoleranz und weniger Ausfallzeiten.

Einfacher zu skalieren

Der Skalierung im Shared-Nothing-Modell sind keine Grenzen gesetzt. Unbegrenzte Skalierbarkeit ist eines der besten Merkmale dieser Art von Architektur. Da Knoten unabhängig sind und keine Ressourcen gemeinsam nutzen, wird das Hochskalieren Ihrer Anwendung nicht das gesamte System stören oder zu Ressourcenkonflikten führen.

Beseitigt Single Points of Failure

Wenn einer der Knoten in der Anwendung ausfällt, hat dies keine Auswirkungen auf die Funktionalität anderer, da jeder Knoten unabhängig ist. Obwohl ein Knotenausfall die Leistung beeinträchtigen kann, stört er nicht das Gesamtverhalten der App als Ganzes.

Vereinfacht Upgrades und verhindert Ausfallzeiten

Es ist nicht erforderlich, das System herunterzufahren, während Sie an einzelnen Knoten arbeiten oder diese aktualisieren. Dank der Redundanz wirkt sich das Upgrade eines Knotens nach dem anderen nicht auf die Effektivität anderer aus. Darüber hinaus verhindert das Vorhandensein redundanter Datenkopien auf verschiedenen Knoten unerwartete Ausfallzeiten aufgrund von Festplattenausfällen oder Datenverlusten.

Nachteile

Nachdem Sie die Vorteile von SNA betrachtet haben, werfen Sie einen Blick auf einige Nachteile, die Ihnen bei der Entscheidung helfen können, ob es die beste Option für Sie ist.

Kosten

Ein Knoten besteht aus seinem individuellen Prozessor, Arbeitsspeicher und Datenträger. Dedizierte Ressourcen bedeuten im Wesentlichen höhere Kosten bei der Einrichtung des Systems. Darüber hinaus ist die Übertragung von Daten, die eine Softwareinteraktion erfordern, im Vergleich zu Architekturen mit gemeinsam genutztem Festplattenspeicher und/oder Arbeitsspeicher teurer.

Verringerte Leistung

Das Hochskalieren Ihres Systems kann sich letztendlich auf die Gesamtleistung auswirken, wenn die Querkommunikationsschicht nicht richtig eingerichtet ist.


Cent OS
  1. Apache Hadoop-Architektur erklärt (mit Diagrammen)

  2. So melden Sie sich bei cPanel an (Erklärt)

  3. CWP – Apache Re-Build

  4. Makefile, um nichts zu tun

  5. NTP-Serverarchitektur

Big Data Server erklärt

Was sind Microservices? Einführung in die Microservices-Architektur

So sichern Sie den CentOS 7-Server mit ModSecurity

procinfo-Befehl in Linux erklärt

Arping-Befehl unter Linux erklärt

AWS S3 cp-Befehl erklärt