Bildnachweis: gorodenkoff/iStock/GettyImages
Verteilte Systeme sind Computersysteme, bei denen mehrere Computersysteme effektiv als eine einzige Einheit zusammenarbeiten. Beispiele für verteilte Systeme umfassen Inhaltsverteilungsnetze, die zum Bereitstellen von Websites und Online-Videos verwendet werden, Supercomputer, die aus mehreren leistungsstarken mathematischen Prozessoren und verteilten Datenbanken bestehen, die in vielen Online- Systeme. Verteilte Systeme können widerstandsfähiger, leistungsfähiger und schneller sein als Einzelcomputersysteme, aber Sie können auch mehr Wartung und sorgfältiges Nachdenken über Organisation und Probleme erfordern, die verschwinden können falsch.
Vorteile eines verteilten Systems
Die Verwendung eines verteilten Systems bietet eine Reihe potenzieller Vorteile. Einer der am einfachsten zu verstehenden ist Redundanz und Ausfallsicherheit. Wenn ein Unternehmen seine Website von einer verteilten Gruppe von Servern aus bedient und nicht von einem einzelnen Server, kann es möglicherweise auch dann betriebsbereit bleiben, wenn ein Server physisch ausfällt. Wenn Daten auf mehrere Server oder Festplatten verteilt werden, was in modernen verteilten Systemen häufig vorkommt, kann es zu keinem Datenverlust kommen, selbst wenn ein Speichergerät nicht mehr funktioniert.
Video des Tages
Geschwindigkeit und Inhaltsverteilung
Verteilte Systeme können auch schneller sein als Einzelcomputersysteme. Einer der Vorteile einer verteilten Datenbank besteht darin, dass Abfragen mit a. an einen Server weitergeleitet werden können bestimmte Benutzerinformationen, anstatt dass alle Anfragen an eine einzige Maschine gehen müssen, die überladen.
Anfragen können auch an Server in der Nähe oder über eine schnelle Netzwerkverbindung weitergeleitet werden, an wen auch immer die Daten, was weniger Zeit und andere Ressourcen für den Umgang mit dem Netzwerkverkehr bedeuten kann und Engpässe. Das kommt häufig in Content-Distributionsnetzwerken vor, die für Online-Medien verwendet werden.
Skalierung und Parallelität
Sobald verteilte Systeme eingerichtet sind, um Daten zwischen den beteiligten Servern zu verteilen, können sie auch leicht skalierbar sein. Wenn sie gut entworfen sind, kann es so einfach sein, neue Hardware hinzuzufügen und das Netzwerk anzuweisen, sie dem verteilten System hinzuzufügen.
Verteilte Systeme können auch für Parallelität ausgelegt werden. Dies ist bei mathematischen Operationen für Dinge wie Wettermodellierung und wissenschaftliche Berechnungen üblich, bei denen mehrere leistungsstarke Prozessoren können unabhängige Teile komplexer Simulationen aufteilen und erhalten die Antwort schneller, als sie sie ausführen würden Serie.
Herausforderungen für verteilte Computer
Eine große Herausforderung beim verteilten Computing besteht darin, dass es für Programmierer schwer sein kann, darüber nachzudenken. Bei der Verteilung von Daten kann es zu Herausforderungen kommen, um sicherzustellen, dass die Anforderungen an die Ausfallsicherheit unter verschiedenen unerwarteten Bedingungen erfüllt werden.
Wenn Geräte synchronisiert werden müssen, kann es schwer zu erkennende Fehler geben, die dazu führen, dass sie aufeinander warten um Daten zu übertragen oder versehentlich zu versuchen, die gleichen Daten gleichzeitig zu lesen oder zu schreiben, was dazu führt, dass Fehler.
Sicherheit und Datenschutz können auch bei verteilten Systemen zu einem Problem werden, da die Daten von Personen auf mehreren Computern gespeichert werden, manchmal an mehreren physischen Standorten. Verteilte Systeme können für einige Aufgaben auch übertrieben sein, da sie mehr physische Ressourcen und Entwicklungszeit verbrauchen als nötig.