Verteilte Systeme - Cheatsheet.pdf

Verteilte Systeme - Cheatsheet
Verteilte Systeme - Cheatsheet Konsens-Algorithmen: Paxos-Algorithmus Definition: Paxos-Algorithmus ist ein Konsens-Algorithmus für verteilte Systeme, der es ermöglicht, dass mehrere Knoten in einem Netzwerk eine einheitliche Entscheidung treffen, selbst wenn einige Knoten fehlerhaft sind. Details: Ziel: Konsens in verteilten Systemen trotz Ausfällen. Teilnehmer: Proposer , Acceptor , Learner . Ph...

© StudySmarter 2024, all rights reserved.

Verteilte Systeme - Cheatsheet

Konsens-Algorithmen: Paxos-Algorithmus

Definition:

Paxos-Algorithmus ist ein Konsens-Algorithmus für verteilte Systeme, der es ermöglicht, dass mehrere Knoten in einem Netzwerk eine einheitliche Entscheidung treffen, selbst wenn einige Knoten fehlerhaft sind.

Details:

  • Ziel: Konsens in verteilten Systemen trotz Ausfällen.
  • Teilnehmer: Proposer, Acceptor, Learner.
  • Phasen: Vorbereitung, Akzeptanz, Lernen.
  • Sicherheit: Einzigartige Sequenznummern zur Konfliktvermeidung.
  • Mehrdeutigkeit vermeiden durch mehrheitliche Akzeptoren.

Verteilte Hashtabellen und Anwendungen

Definition:

Verteilte Hashtabellen (Distributed Hash Tables, DHTs) sind eine Klasse von verteilten Systemen, die einen dezentralen Mechanismus zum Speichern und Abrufen von Daten basierend auf Hashing-Algorithmen bieten.

Details:

  • Schlüssel-Wert-Speicherung verteilt über mehrere Knoten
  • Nutzen Hash-Funktionen zur Bestimmung der Datenplatzierung
  • Hauptmerkmale: Skalierbarkeit, Fehlertoleranz und Effizienz
  • Bekannte Implementierungen: Chord, Kademlia, Pastry, Tapestry
  • Anwendungen: Peer-to-Peer Netzwerke, verteilte Dateisysteme, dezentrale soziale Netzwerke
  • Suchen eines Schlüssels \textit{k} in einem Netzwerk aus \textit{N} Knoten geschieht in \textit{O(log N)} Schritten
  • Konsistenz und Replikation zur Verbesserung der Zuverlässigkeit

Virtualisierungstechniken im Cloud Computing

Definition:

Techniken zur Abstraktion und Verwaltung physischer Ressourcen in Cloud-Umgebungen.

Details:

  • Hypervisor-Typen: Typ-1 (Bare Metal) und Typ-2 (Hosted)
  • VMs: simulierte, isolierte Umgebungen
  • Container: leichtere, weniger isolierte Einheiten im Vergleich zu VMs (z.B., Docker)
  • Vorteile: Skalierbarkeit, Flexibilität, Ausfallsicherheit
  • Für alle Virtualisierungstypen relevant: Ressourcenzuweisung und -verwaltung
  • Bereitstellung: Automatisierte und orchestrierte Prozesse

Sichere Netzwerkprotokolle

Definition:

Mechanismen zum Schutz der Datenübertragung in Netzwerken durch Verschlüsselung und Authentifizierung.

Details:

  • Verschlüsselung: Schutz der Daten vor unerlaubtem Zugriff (Symmetrisch/asymmetrisch).
  • Authentifizierung: Sicherstellung der Identität der Kommunikationspartner (z.B. Zertifikate).
  • Integrität: Sicherstellung, dass Daten nicht verändert wurden (Hash-Funktionen).
  • Beispiele: TLS/SSL, IPsec, SSH, HTTPS.
  • Verwendete Protokolle: RSA, AES, ECC, Diffie-Hellman.

Datenbank-Sharding

Definition:

Technik zur Verteilung von Datenbankinhalt auf mehrere Server, um Last zu balancieren und Performance zu verbessern.

Details:

  • Sharding-Strategien: Horizontales Sharding (Zeilen) und Vertikales Sharding (Spalten)
  • Wichtig bei großen Datenbanken, die nicht auf einer einzelnen Maschine betrieben werden können
  • Erfordert geeignete Algorithmen zur Verteilung der Daten und zur Wiederzusammenführung bei Anfragen
  • Komplexität bei Transaktionen und Abfragen über mehrere Shards hinweg
  • Anwendungsgebiete: Social Media, E-Commerce, Cloud-Dienste

Redundanz-Strategien für Fehlertoleranz

Definition:

Techniken zur Erhöhung der Zuverlässigkeit und Verfügbarkeit von Systemen durch die Bereitstellung zusätzlicher Ressourcen oder Informationen.

Details:

  • Arten der Redundanz: räumliche (Hardware-Duplikate), zeitliche (Wiederholung von Prozessen), informationelle (Ergänzende Informationen)
  • Hot Standby: Redundante Einheit aktiv und synchronisiert
  • Cold Standby: Redundante Einheit inaktiv bis benötigt
  • Voting: Mehrere Instanzen stimmen über Ergebnis ab
  • Replikation: Daten oder Dienste werden auf mehreren Knoten gespiegelt
  • Ziel: Erhöhung der Fehlertoleranz, Vermeidung von Single Points of Failure (SPOFs)

Skalierbarkeit und Elastizität in Cloud-Systemen

Definition:

Skalierbarkeit und Elastizität in Cloud-Systemen: Fähigkeit eines Systems, seine Ressourcen an den aktuellen Bedarf anzupassen.

Details:

  • Skalierbarkeit: Fähigkeit, Ressourcen vertikal (mehr Ressourcen für eine Instanz) oder horizontal (mehr Instanzen) zu erweitern
  • Elastizität: Fähigkeit, Ressourcen automatisch entsprechend der Nachfrage zuzu- oder abzuschalten
  • Vertikale Skalierung: z.B. CPU, RAM erweitern
  • Horizontale Skalierung: z.B. neue Server hinzufügen
  • Ziele: Kostenoptimierung, Performance-Gewährleistung, Ausfallsicherheit
  • Metriken: Antwortzeit, Durchsatz, Kosten- und Ressourcennutzung

Fehlertolerante Algorithmen

Definition:

Algorithmen, die auch bei partiellen Ausfällen funktionsfähig bleiben.

Details:

  • Nutzen Redundanz, Replikation und Voter-Mechanismen.
  • Können teilweise oder vollständig Fehler erkennen und korrigieren.
  • Verwendung in Systemen mit hohen Verfügbarkeitsanforderungen.
  • Gängige Algorithmen: Byzantine Fault Tolerance, Paxos.
  • Mathematische Modelle und Wahrscheinlichkeitsrechnungen zur Bestimmung der Fehlertoleranz.
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden