Verteilte Eigenschaften, Architektur, Typen, Ziele, Anwendungen

Verteilte Eigenschaften, Architektur, Typen, Ziele, Anwendungen

Der Verteilte Systeme Sie sind Software -Stücke, die dazu dienen, die Aktionen mehrerer Computer zu koordinieren. Diese Koordination wird durch den Austausch von Nachrichten erreicht, dh mit Datenteilen, die Informationen übertragen.

Verteilte Systeme erfordern gleichzeitige Komponenten, ein Kommunikationsnetz und einen Synchronisationsmechanismus. Sie ermöglichen die Freigabe von Ressourcen, einschließlich Software, nach Systemen, die mit einem Netzwerk verbunden sind. Daher basiert das System auf einem Netzwerk, das Computer verbindet und Nachrichten verarbeitet.

A und B (verteilte Systeme). B (Parallelsystem). Miym/cc by-sa (https: // creativecommons.Org/lizenzen/by-sa/3.0)

Distributed Computing ist ein Bereich der Informatik, der für die Analyse verteilter Systeme verantwortlich ist. Das in einem verteilte System ausgeführte Computerprogramm wird als verteiltes Programm bezeichnet.

In einem Kontext, in dem Hunderte oder Tausende von Computern vorhanden sind, was in großen Internetunternehmen ein häufiges Verhältnis ist, ist es sehr häufig, dass die Komponenten, ob Hardware, Netzwerk, Discs usw., Fehler gibt, egal, ob Hardware, Netzwerke usw., Und das System muss darauf vorbereitet sein, sie jederzeit zu stellen.

[TOC]

Datenverteilung

Die Verteilung ist der Schlüssel zur Verwaltung von sehr großen Datenkonglomeraten. Es ist notwendig, Skalierbarkeit zu erreichen, was die Mittel zur Aufrechterhaltung einer stabilen Leistung sind, wenn Datencluster wachsen, indem Sie dem System neue Ressourcen hinzufügen.

Andererseits enthält die Verteilung eine Reihe von technischen Problemen. Ein Punkt, der berücksichtigt werden muss, ist das Risiko möglicher Fehler.

Eigenschaften verteilter Systeme

A und B (verteilte Systeme). B (Parallelsystem). Miym/cc by-sa (https: // creativecommons.Org/lizenzen/by-sa/3.0)

Kompatibilität

Die Geräte können mit unterschiedlichen Betriebssystemen arbeiten. Dies hindert sie nicht daran, den Benutzern immer die gleichen Dienste anzubieten. Aus diesem Grund sind alle verbundenen Geräte miteinander kompatibel.

Ein weiteres grundlegendes Problem ist das Softwaredesign, da dies auch mit allen Systemen und Benutzern kompatibel ist, die sich auf jedem Computer befinden.

Fehlertoleranz

Wenn es sich um ein einzelnes Netzwerk mit vielen Computern handelt, können andere ihre Funktion weiterhin vollständig ausführen und Fehler schnell vermeiden.

Aus diesem Grund liefern verteilte Systeme normalerweise viel Vertrauen bei der Arbeit mit ihnen.

Middleware und API

Verschiedene Prozessoren verwenden eine Distribution Middleware und tragen dazu bei, verschiedene Ressourcen und Kapazitäten zu teilen, um den Benutzern ein kohärentes und integriertes Netzwerk zu bieten. Es bietet Anwendungen auch eine Reihe von Diensten wie Sicherheit und Fehlerwiederherstellung.

Derzeit sind mehr zu Anwendungsprogrammierschnittstellen (API) zu hören, die als Linktür fungieren, an der Anwendungen kommunizieren können. Anwendungen müssen nichts über andere Anwendungen wissen, außer der API.

Es kann Ihnen dienen: Vor- und Internet -Nachteile

Die Architektur

Kunden-Server-Architektur

Ein bestimmter Computer namens Server kann bestimmte Aufgaben ausführen, die als Dienste bezeichnet werden. Bieten Sie beispielsweise Dateien über das Netzwerk an, können Sie bestimmte Befehle ausführen oder Daten in einen Drucker rollen. Der Kunde ist der Computer, der die Dienste anfordert.

Der Computer, der hauptsächlich für den von ihm bereitgestellten Dienst bekannt ist, kann als Druckserver, Dateiserver usw. bezeichnet werden.

Architektur von gleich gleich (Peer-to-Peer)

Geht davon aus. Ein Beispiel dafür ist eine Reihe von Mikrocomputern in einem kleinen Büro.

Mit dem Netzwerk können Personen auf die Dateien anderer zugreifen und E -Mails senden. Kein Computer bietet jedoch einen bestimmten Satz von Diensten.

Verschiedene Level -Architekturen

Für bestimmte Dienste kann es sinnvoll sein, hierarchische Konnektivität herzustellen. Zum Beispiel:

  • Ein Server bei der Ausführung Ihrer Aufgaben kann einen anderen Server verschiedener Typen kontaktieren
  • Kunden-Server-Architektur ist eine zweistufige Architektur.

Prozessorsgruppenarchitektur

Ein Betriebssystem könnte automatisch inaktive Computerprozesse starten und sogar Prozesse auf Systeme mit einer größeren Anzahl von CPU -verfügbaren Zyklen migrieren. In anderen Fällen kann ein Benutzer Prozesse in den verfügbaren Systemen manuell starten oder verschieben.

Arten von verteilten Systemen

Computer im Cluster

Es handelt sich um eine Reihe ähnlicher Computer, die über ein örtliches Gebietsnetzwerk mit hoher Geschwindigkeit verbunden sind. Es wird häufig für die parallele Programmierung verwendet, bei der ein einzelnes intensives Computerprogramm auf mehreren Computern parallel ausgeführt wird.

Jeder Cluster besteht aus einer Reihe von Computerknoten, die von einem oder mehreren Knoten bezeichnet werden, die als Lehrer bezeichnet werden.

Netzwerk Computing

Es besteht aus Knoten mit deutlichen Unterschieden in der roten Hardware und Technologie. Die aktuelle Tendenz, eine spezifische Konfiguration von Knoten für bestimmte Aufgaben zu haben.

Cloud Computing

Es handelt sich um eine Reihe von virtualisierten Ressourcen, die im Rechenzentrum eines Cloud -Lieferanten untergebracht sind. Kunden können virtualisierte Infrastruktur einrichten, um eine Vielzahl von Cloud -Diensten zu nutzen.

Für den Benutzer scheint es, dass er seinen eigenen exklusiven Computer mietet. In Wirklichkeit wird es jedoch wahrscheinlich mit anderen Kunden teilen. Gleiches gilt für den virtuellen Speicher.

Diese virtualisierten Ressourcen können dynamisch konfiguriert werden, wodurch Skalierbarkeit ermöglicht werden kann. Wenn mehr Computerressourcen benötigt werden, kann das System mehr erwerben.

Kann Ihnen dienen: Expertensysteme: Geschichte, Merkmale, Vorteile, Nachteile

Ziele

Ressourcen teilen

Unabhängig davon.

Es ist viel billiger, eine gemeinsame Speicherinstallation zwischen mehreren Anwendungen zu haben, als für jeden einzelnen für jeden einzelnen kaufen und aufrechtzuerhalten.

Abstraktion

Zu verbergen, dass die Prozesse und Ressourcen in mehreren Computern verteilt sind, möglicherweise geografisch verbreitet. Das heißt, die Prozesse und Ressourcen werden vom Benutzer abstrahiert.

Öffnung

Grundsätzlich zeigt an, dass ein verteiltes System mit Elementen errichtet wird, die leicht in andere Systeme integriert werden können. Durch Erfüllung der normalisierten Regeln kann jeder Prozess mit dieser Schnittstelle mit einem anderen Prozess mit derselben Schnittstelle kommunizieren.

Interoperabilität und Portabilität

Es bezieht sich, wenn zwei Systeme verschiedener Hersteller zusammenarbeiten können. Die Portabilität bestimmt, inwieweit eine Anwendung für System A in System B ohne Änderungen betrieben werden kann.

Skalierbarkeit

Es ist notwendig, wenn Benutzer, die mehr Ressourcen benötigen. Ein gutes Beispiel ist die Zunahme des Netflix -Publikums jeden Freitagabend.

Dies bedeutet dynamisch mehr Ressourcen, z. B. die Erhöhung der Netzwerkkapazität, die eine größere Videoübertragung ermöglicht und die Verringerung des Verbrauchs normalisiert hat.

Anwendungen

Erlag Virtual Machine

Das Lyme -Software -Paket basiert auf Erlang und bietet eine Alternative zur Lampe. Shmuel Csaba Otto Tranian/CC BY-SA (https: // CreePecommons.Org/lizenzen/by-sa/3.0)

Erlang ist eine funktionale Sprache, die eine großartige Semantik für die Übereinstimmung, Verteilung und Toleranz von Fehlern hat. Eine virtuelle Erlang -Maschine verwaltet die Verteilung einer ERLAG -Anwendung.

Dieses Modell funktioniert mit vielen isolierten Prozessen, die alle miteinander über eine integrierte Nachrichten von Nachrichten kommunizieren können.

Die virtuelle Maschine von Erlang kann mit anderen virtuellen Maschinen verbunden werden, die sich an verschiedenen Stellen befinden. Dieser Schwarm virtueller Maschinen führt eine einzelne Anwendung aus, die die Fehler eines Maschinenbetriebs in einem anderen Knoten behandelt.

Bittorrent

BitTorrent -Netzwerkbetrieb. Mrjavi/cc by-sa (https: // creativecommons.Org/lizenzen/by-sa/4.0)

Es ist eines der am häufigsten verwendeten Protokolle, um große Dateien im Web zu übertragen. Die Hauptidee besteht darin, die Übertragung von Dateien zwischen verschiedenen Paaren im Netzwerk zu erleichtern, ohne einen Hauptserver durchlaufen zu müssen.

Wenn Sie einen BitTorrent -Kunden verwenden, können Sie weltweit eine Verbindung zu mehreren Computern herstellen, um eine Datei herunterzuladen. Ein Computer, der als Koordinator fungiert.

Mit BitTorrent ermöglicht es Ihnen, freiwillige Dateien unterzubringen und sie an andere Benutzer hochzuladen, die sie möchten. Es ist so beliebt, weil es die erste seiner Art war, die Anreize anbieten, um zum Netzwerk beizutragen.

Es kann Ihnen dienen: Thermoelektrische Zentral

Vorteile

- Weitere Knoten können dem verteilten System leicht hinzugefügt werden, dh es kann nach Bedarf bestiegen werden.

- Alle Knoten im verteilten System sind miteinander verbunden. Daher kann jeder der Knoten leicht Daten mit den anderen Knoten teilen.

- Ressourcen wie Drucker können mit mehreren Knoten geteilt werden, anstatt einen einzuschränken.

- Der Fehler eines Knotens führt nicht zum Ausfall des gesamten verteilten Systems. Die anderen Knoten können immer noch miteinander kommunizieren.

Nachteile

- Einige Nachrichten und Daten können im Netzwerk verloren gehen, wenn Sie von einem Knoten zum anderen weitergeben.

- Es ist schwierig, in verteilten Systemen eine angemessene Sicherheit zu bieten, da sowohl Knoten als auch Verbindungen sichergestellt werden müssen.

- Eine Überladung im Netzwerk kann auftreten, wenn alle Knoten des verteilten Systems versuchen, gleichzeitig Daten zu senden.

- Die mit verteilte Systeme verbundene Datenbank ist im Vergleich zu einem einzelnen Benutzersystem ziemlich kompliziert und schwer zu verarbeiten.

Beispiele für verteilte Systeme

Verteilte Systeme können in einer Vielzahl von Fällen verwendet werden, wie z.

Stackpath

Verwenden Sie ein besonders großes verteiltes System, um Ihren Inhaltsdeliefer -Netzwerkdienst zu steigern. Jeder seiner Präsenzpunkte (POP) hat Knoten, die ein weltweit verteiltes System bilden.

StackPath speichert den angeforderten Inhalt in jüngerer Zeit und häufiger an den am nächsten verwendeten Standorten, die am nächsten stehen.

Wenn das System nicht nur die Geschwindigkeit und Beweglichkeit der Tipp -Informatik nutzt, kann das System nicht nur Tausende von gleichzeitigen Anwendungen sehr schnell verarbeiten.

Internet

Es ist das größte verteilte System der Welt. Jeder Benutzer hat das Gefühl, ein einzelnes System zu sein, obwohl er aus Millionen von Computern besteht.

Durch das Konzept der Abstraktion gibt es keine Ahnung, wo die Daten gespeichert sind, wie viele Server beteiligt sind oder wie die Informationen zum Browser eintreffen. Der Browser löst die Komplexität des Internets auf.

Dies gilt auch für Anwendungen wie Google Mail -E -Mail oder eine andere Anwendung, die verwendet werden kann. Alle Menschen interagieren täglich mit verteilten Anwendungen.

Verweise

  1. Paul Krzyzanowski (2018). Verteilte Systeme. Genommen von: cs.Rutgers.Edu.
  2. Catherine Paganini (2019). Erstens: Verteilte Systeme und Cloud Native Computing. Der neue Stapel. Genommen von: thenewstack.Io.
  3. Internationale Universität von Valencia (2020). Verteilte Systeme, Eigenschaften und Klassifizierung. Genommen von: Universityviu.com.
  4. David Meador (2018). Verteilte Systeme. Tutorials Punkt. Entnommen aus: TutorialPoint.com.
  5. Robert Gibb (2019). Was ist ein verteiltes System?? Genommen aus: Blog.Stackpath.com.
  6. Stanislav Kozlovski (2018). Gründliche Einführung in verteilte Systeme. Kostenloses Codecamp. Entnommen aus: freecodecamp.Org.