Eigenschaften verteilter Systeme PDF

Document Details

LawfulForgetMeNot

Uploaded by LawfulForgetMeNot

Technische Hochschule Mittelhessen

Tags

distributed systems computer science information technology software engineering

Summary

This document provides an overview of distributed systems, including their properties. Key concepts such as scalability, reliability, and fault tolerance are examined, along with considerations for distributed system design.

Full Transcript

03.12.2024 Eigenschaften verteilter Systeme Seite Verte...

03.12.2024 Eigenschaften verteilter Systeme Seite Verteilte Systeme  Zusammengehöriges System autonom arbeitender Komponenten  Angebot eines Dienstes, einer Anwendung oder einfach Ressourcen  Verbunden  Kabel, Kabellos oder auch eine Kombination von Beiden  In der Regel eben räumlich getrennt  Jeder Knoten im System arbeitet unabhängig aber kommuniziert mit dem Rest  Allgemein wird ein gemeinsames Ziel verfolgt Seite 2 Verteilte Systeme  Welche Dienste / Server kennen Sie? Seite 3 03.12.2024 Verteilte Systeme  Gemeinsame  Nutzung von Daten  Nutzung von Geräten  Nutzung von Rechenleistung  Kommunikation der Benutzer eines verteilten Systems  Gemeinsames Arbeiten Seite 4 Verteilte Systeme Seite 5 Verteilte Systeme im Gesundheitswesen  Kennen Sie verteilte Systeme im Gesundheitswesen? Seite 6 03.12.2024 Grundkonzepte Skalierbarkeit Sicherheit Fehlertoleranz Zuverlässigkeit Transparenz Konsistenz Seite 7 Skalierbarkeit  Ein verteiltes System kann sich gut auf einen gesteigerten Ressourcenbedarf und Nutzerzahlen einstellen  Speicherplatz  Arbeitsspeicher  Weitere  Weitere Knoten lassen sich einfach hinzufügen, um mehr Ressourcen zur Verfügung stellen zu können  Die angebotenen Funktionen und Effizienz des Systems bleibt dabei bestehen  Auch langfristig Seite 8 Skalierbarkeit Nicht Ausführungszeit skalierbares System Ideal skalierbares System Nutzeranzahl Seite 9 03.12.2024 Skalierbarkeit - Probleme  Größe  Mehr Benutzer und Ressourcen werden unterstützt  Zentrale Komponenten schränken die Skalierbarkeit ein  Zentrale Services (z.B. ein einzelner Server zur Anmeldung für alle Benutzer)  Zentrale Daten (z.B. eine einziges Online-Telefonbuch-Datenbank)  Diese zentralen Komponenten werden zum Flaschenhals, einer Engstelle Seite 10 Skalierbarkeit - Probleme  Geographisch  Erhöhung der Knoten führt zu einer Vergrößerung des Netzwerks  Strecken zwischen einzelnen Knoten werden länger  Für verteilte Systeme, die ursprünglich für LAN´s entwickelt wurden, ein Problem  Zu lange Latenzzeiten Seite 11 Skalierbarkeit - Probleme  Administration  Skalierungen über mehrere unabhängige Administrationsdomainen ist schwierig  Unterschiedliche Ansätze zur Benutzung der Ressourcen  Unterschiedliche Konzepte  Verwaltung  Sicherheit Seite 12 03.12.2024 Fehlertoleranz  Fehler  Vorbeugen  Aushalten  Beheben  Redundanzen verhindern dabei an vielen Stellen mögliche Funktionsverluste  Störungen des Systems dürfen unbeteiligte Knoten und Prozesse nicht beeinflussen Seite 13 Fehlertoleranz  Verschiedene Arten der Störung  Vorübergehend  Treten einmalig auf und verschwinden wieder  Wiederkehrend  Tritt immer wieder auf und verschwindet auch von selbst wieder  Permanent  Störung bleibt bestehen bis Grund dafür aktiv behoben wurde Seite 14 Fehlertoleranz  Aufgabe eines verteilten Systems ist die Bereitstellung einer bestimmten Anzahl von Diensten  Fileserver  Mailserver  Zeitserver  etc.  Ausfall des Systems, wenn einer oder mehrere der ausgeschriebenen Dienste gar nicht oder nur teilweise bereitgestellt werden können Seite 15 03.12.2024 Transparenz  Für den Benutzer wirkt es wie ein einzelnes System  Die verteilten Systeme sollten nicht auffallen  Ein Benutzer sollte nicht mal bemerken, dass Prozesse oder Daten über ein Netzwerk verteilt werden  Mindestens wo diese landen oder abgespeichert werden sollte nicht nachvollziehbar sein  Das System verhält sich gleich, egal  Wo? Wie? Oder Wann?  eine Interaktion mit dem Benutzer und dem System stattfindet Seite 16 Ortstransparenz  Auf Ressourcen kann zugegriffen werden, ohne zu wissen wo sich diese befinden  Der Endbenutzer kann nicht sagen, wo sich ein Objekt genau befindet  Die Benennung der Ressourcen spielt eine große Rolle  Vergebung logischer Namen, aus denen der Standort nicht herausgelesen werden kann  URL  Auf eine Website kann per URL zugegriffen werden ohne den Standort des Webservers zu kennen  IP Seite 17 Fehlertransparenz  Fehler von Hardware- o. Softwarekomponenten werden von Anwendungsprogrammen und Benutzern nicht bemerkt  Selbstständiges Erkennen und Beheben des Fehlers  Auftretende Fehler werden dementsprechend maskiert  Keine zu beobachtende Fehlerwirkung  Schwierig zu implementieren  Unterscheidung – Prozess antwortet  Gar nicht  Sehr langsam Seite 18 03.12.2024 Zugriffstransparenz  Zugriff auf lokale und ferne Ressourcen funktioniert auf dieselbe Weise  Die Repräsentation der Daten  Verschiedene Betriebssysteme fallen nicht auf  Unterschiedliche Namenskonventionen  Kommunikation zwischen Prozessen Seite 19 Nebenläufigkeitstransparenz  Problemloser Zugriff auf dieselben Ressourcen zur gleichen Zeit von  Anwendungsprogrammen  Benutzern  Keine Konflikte  Ressourcen müssen Konsistenz bewahren  Bei gleichzeitigem Zugriff  Bei gleichzeitigen Änderungen Seite 20 Migrationstransparenz  Prozesse und Ressourcen sind im verteilten System mobil  Kommunikationen und Zugriffe werden nicht beeinflusst  Für Benutzer ist es nicht ersichtlich, auf welchem Rechner ein angeforderter Dienst ausgeführt wird  Ein Anwendungsprogramm kann während der Ausführung sogar den Rechner wechseln  Die örtliche Veränderung einer Ressource soll nicht erkennbar sein Seite 21 03.12.2024 Replikationstransparenz  Kopien einer Ressource bleiben Anwendungsprogrammen oder Nutzern verborgen  Auch Prozesse, die einspringen, falls einer fehlschlägt  Fehlertoleranz  Verfügbarkeit  Konsistente Namensvergebung  Ortstransparenz muss dabei auch gegeben sein Seite 22 Konsistenz  Spielt besonders bei Fileservern eine wichtige Rolle  Replikation dient zur Steigerung der Zuverlässigkeit → Fehlertoleranz  Gleichzeitige Verwendung mehrerer Kopien an unterschiedlichen Standorten  Führt allerdings zu Problemen mit der Konsistenz  Nicht alle Instanzen einer Ressource sind zu jeder Zeit identisch  Wird eine Kopie verändert, gibt es einen Zeitverzug bis alle Kopien synchronisiert wurden Seite 23 Konsistenz  Strikte Konsistenz P1: Write(x)a P2: Read(x)a  Jede Leseoperation liefert den Wert der letzten Schreiboperation  Eine absolute globale Zeit wäre notwendig  Unmöglich in verteilten Systemen Seite 24 03.12.2024 Konsistenz  Sequentielle Konsistenz P1: Write(x)a P2: Write(x)b P3: Read(x)b Read(x)a P4: Read(x)b Read(x)a  Zeit spielt hierbei keine Rolle Seite 25 Sicherheit Vertraulichkeit Integrität Verfügbarkeit Seite 26 Sicherheit Sender Empfänger Bedrohungen  Abfangen (Interception) Interception  Stören (Interruption) Interruption  Verändern (Modification)  Einbringen (Fabrication) Modification Fabrication Seite 27 03.12.2024 Sicherheit Mechanismen  Verschlüsselung  Authentifizierung  Nicht-Anfechtbarkeit  Autorisierung  Kontrolle Seite 28 Sicherheit  Single Sign On bzw. Reduced Sign On  Anmeldung über Drittanbieter bei mehreren Diensten  Dieser übernimmt die Authentifizierung  Einmal Anmeldedaten reicht  Komfortabel  Problem  Anmeldedaten einmal geknackt, bietet Zugriff auf alles Seite 29 Sicherheit  Wo ist Ihnen ein Single-Sign-On bekannt? Seite 30 03.12.2024 Zuverlässigkeit  System, ist über einen bestimmten zeitlichen Ablauf funktionstüchtig  Ohne Unterbrechungen möglichst lange  Replikationen steigern die Zuverlässigkeit  Redundanzen werden geschaffen, die im Zweifel einspringen können  Im Sinne der Zuverlässigkeit muss das System auch vor vorsätzlichen Angriffen geschützt werden Seite 31 Zuverlässigkeit  Zuverlässigkeit = Verfügbarkeit? Seite 32 Zuverlässigkeit Verfügbarkeit  System soll fortlaufend ausfallfrei laufen  Volle Systemerreichbarkeit zu einem  Über bestimmten Zeitintervall bestimmten Zeitpunkt  Höchst Zuverlässig  Alle Funktionen nutzbar  Durchgehende Arbeit über relativ lange  Höchst verfügbar Zeitspanne  System arbeitet sehr wahrscheinlich zu jedem beliebigen Zeitpunkt  Beispiel  System fällt jede Stunde eine Millisekunde aus → Hohe Verfügbarkeit / Schlechte Zuverlässigkeit  System wird einmal im Jahr für zwei Wochen heruntergefahren, stürzt aber nie ab → Hohe Zuverlässigkeit / Schlechte Verfügbarkeit Seite 33

Use Quizgecko on...
Browser
Browser