Wie der Internet -und Netzwerk- Technologien in Raffinesse und Zuverlässigkeit haben vorgerückt , Ingenieure haben einen neuen Weg der laufenden Computing-Services erstellt: verteilte Systeme . Anstatt die Zentralisierung von Daten und Rechenleistung in einem einzigen Ort schickt es dann an die Clients , verteilt verteilten Systemen sowohl Daten als auch Rechenaufgaben über mehrere Knoten , die Arbeit im Chor. Während diese Art von System hat viele Vorteile , es ist nicht ohne Nachteile . Leistung
Verteilte Systeme ermöglichen eine größere gesamten Service Performance als Systeme, deren Funktion es ist in einem einzigen Ort zentralisiert. Durch die Verteilung der Rechenlast auf verschiedene Knoten , ist jeder Standort unter weniger Stress. Dies ermöglicht jeder Knoten effizienter durchführen , die erhöht die Leistung des gesamten Service . Ein Beispiel, wie dies funktioniert, ist in der hohen Nachfrage Messaging-Dienste. Statt Abladen der Last für jede Transaktion aktuellen Benutzer auf einem einzigen Server , werden die Transaktionen in einer Reihe von verschiedenen Servern verteilt . Auf diese Weise wird die Nachfrage auf den einzelnen Knoten reduziert , und die Daten jeder Knoten erhält versickern heraus zu den anderen Knoten in den Hintergrund.
Zuverlässigkeit
Berechnung ist um eine einzelne Maschine zentriert ist, ist die Gesundheit dieser Maschine die Gesundheit des gesamten Service --- wenn es nach unten geht , so tut das gesamte Service. Allerdings können verteilten Systemen weiterhin funktionieren, wenn ein Knoten nicht mehr funktioniert . Während die Performance-Anforderungen auf den anderen Knoten wird steigen , wie der Stress jede Maschine ist unter , werden die anderen Knoten noch funktionieren. Allerdings können Fehler in einem kritischen Schwellenwert von Knoten noch bringen den Service ab .
Skalierbarkeit
Da verteilte Systeme arbeiten in einer Vielzahl von verschiedenen Maschinen , sie sind inhärent skalierbar. Das heißt, dass das verteilte System einstellen, wie viele System-Ressourcen ist die Nutzung von Licht in welche Art von Nachfrage das System unter . Wenn ein System unter hoher Nachfrage , dann kann jede Maschine läuft , um die Kapazität . Allerdings, wenn die Last auf dem System ist relativ niedrig ist, kann es verschiedene Komponenten des verteilten Systems offline nehmen, um Strom zu sparen und tragen auf dem System. Wenn die Nachfrage auf dem System steigt wieder , können diese Komponenten wieder online .
Synchronization
Dienste auf einem einzigen Server laufen , gibt es keine Sorgen über Datensynchronisation : alle Daten einfach anwesend auf dieser Maschine . Allerdings wird dies ein Problem in verteilten Systemen . Da verschiedene Systemkomponenten verteilt Handhabung unterschiedliche Aufgaben und Daten zu einem bestimmten Zeitpunkt , wird es in kurzen Zeitintervallen , in denen Daten auf einem Bauteil besteht , aber nicht auf andere. Solange das System Knoten Online bleibt lange genug für diese vorübergehend einzigartige Daten zu sickern in anderen Knoten , ist dies kein Problem. Allerdings, wenn ein Knoten ausfällt , bevor es seine einzigartige Daten wuchert , wird es Unstimmigkeiten innerhalb des Systems.