Verteilte Systeme

Fragen zu verteilten Systemen, beruhend auf der Vorlesungsreihe Verteilte Systeme an der DH Villingen-Schwenningen, Studiengang Wirtschaftsinformatik

Fragen zu verteilten Systemen, beruhend auf der Vorlesungsreihe Verteilte Systeme an der DH Villingen-Schwenningen, Studiengang Wirtschaftsinformatik


S. S.
Diese Lernkarten behandeln grundlegende und fortgeschrittene Konzepte der verteilten Systeme auf Universitätsniveau. Sie decken Themen wie Client-Server-Architekturen, Kommunikation, Sicherheit, Verschlüsselung, Datenbanken, und Cloud-Computing ab. Die Karteikarten sind besonders nützlich für Studierende und IT-Professionals, die ihr Verständnis von verteilten Systemen vertiefen möchten, da sie sowohl theoretische Grundlagen als auch praktische Anwendungen und Sicherheitsmaßnahmen behandeln.
Karten
94
Lernende
4
Sprache
Deutsch
Kategorie
Informatik
Stufe
Universität
Erstellt / Aktualisiert
11.06.2015 / 25.06.2023

Lernkarten

Cloud Computing

Verfügbarkeit von IT-Infrastrukturen, Plattformen und Anwendungen über das Internet (on demand)

  • verwendet Virtualisierung
  • Utility Computing

Utility Computing

nur aktuell benötigte Ressourcen werden zur Verfügung gestellt und bezahlt

Arten von Clouds und Erläuterungen

Private Cloud: Provider und User gehören der selben Organisation an

Public Cloud: Provider und User gehören unterschiedlichen Organisationen an

Hybrid Cloud: Daten der Private und Public Clouds werden genutzt

Cloud Computing Landscapes

  1. Software as a Service
  2. Infrastructure as a Service
  3. Plattform as a Service

Software as a Service SaaS

Erklärung, Beispiel, Nutzer

  • Softwareanwendungen laufen auf dem Browser bzw. Applikationsserver 
  • Bsp. : Google Docs
  • Nutzer: Unternehmen, Privatpersonen

Plattform as a Service PaaS

Erklärung, Beispiel, Nutzer

  • Betriebsplattform
  • Bsp. Google App Engine
  • Nutzer: IT-Planer, Entwickler

Infrastructure as a Service IaaS

Erklärung, Beispiel, Nutzer

  • virtuelle IT-Infrastruktur und Hardware
  • Bsp. Amazon Elastic Compute Cloud
  • Nutzer: IT-Dienstleister, IT-Abteilungen

Cloud- Vorteile

  • hohe Leistungsfähigkeit
  • Kosteneinsparungen
  • Flexibilität

Cloud-Nachteile

  • Sicherheit
  • Vendor- Lock-In

Grid Computing 

Verbindung dezentraler Rechenkapazitäten zu einem virtuellen Hochleistungscomputer zur Bearbeitung rechnerintensiven Aufgaben

Was ist ein Socket?

vom Betriebssystem zum Zugriff auf TCP und UDP zur Verfügung gestellt

Funktionsweise Socket

  1. Server bietet Dienste an und wartet
  2. Client stellt Verbindungsanfrage
  3. Server erstellt neuen Socket und akzeptiert Client
  4. Response/Request Verfahren
  5. Server löscht Socket und schliesst Verbindung

Race Conditions

Race Conditions entstehen bei gemeinsamer Nutzung von Speicher und Dateien

Möglichkeiten zum Wechselseitigem Ausschluss

  • Interruptsperrungen
  • SperrVariablen einsetzen
  • Strikter Wechsel

Semaphoren - Problem und Lösung

Problem: Race Condition beim Zählen

Lösung: Sempahor

  • spez. Software-Objekte, de vom Betriebssystem bereitgestellt werden
  • besitzt Zählervariable

Aufbau eines Semaphors

Semaphors Name

Zähler, Integer

Warteschlange

P: Down

V: Up

Funktion: Semaphor "Up"

= freigeben

Zähler = Zähler +1;

Wenn Warteschlange != leer {

älteste Prozedur aus der Schlange entsperren

}

Funktion: Semaphor "Down"

= nächste Prozedur

wenn Zähler = 0{

Prozess blockieren, an Warteschlange hängen

}

Zähler -1

Arten von Semaphoren

  1. binärer Semphor (mutex): nur 0 und 1
  2. Zählsemaphor: alle Zahlen

DocumentRoot

Startverzeichnis

DirecotryIndex

Start Dokument

Alias 

erlaubt HTML Datei an anderer Stelle zu speichern als im DocoumentRoot

Virtual Host

Server kann auch mit anderem Hostname als Domain angesprochen werden

WebDAV

  • dient zum Datentransfer
  • ersetzt FTP
  • direkte Bearbeitung und Erstellung im HTML-Editor
  • gerade bearbeitete Dateien werden für andere gesperrt
  • erweitert HTTP

MVC- Pattern

Bei einem komplexen Serversystem, kann der Zusammenhang zwischen Skripten, HTML-Dateien kompliziert werden. Daher das MVC- Pattern:

Model: Datenbank

Controller: Eingabe

View: Ansicht

AJAX

Server- Anfragen werden im Hintergrund ohne Neuladen ausgeführt

Bsp. Google Maps

Web Services

Konzept: Mensch - zu -Mensch- Kommunikation

Browser -- FTP/HTTP--> Server

Applikationsserver --SOAP/XML-->Applikationsserver

WSDL

Web Services Description Language

XML Datei beschreibt was für Daten zurückkommen bei Anfrage

REST

Representational State Transfer

Alle Ressourcen werden mit einer URL adressiert

HTTP Methoden: POST, GET, DELETE, PUT

Vorteile von REST

  • einfache Programmierung
  • JSON oder XML statt SOAP
  • unabhängig von der Plattform

Same-Origin-Policy

Skripte werden können nur auf eigene Domain zugreifen

Zum Umgehen wird CORS verwendet

NOSQL-DB

= not only SQL 

  • wird bei vielen Lese- und Schreibanfragen verwendet
  • nicht relational
  • skalierbar

Eventual Consistency

= nur eventuell konsistent -> kein ACID 

tritt bei Replikationen auf

Bsp. Anzeigen von Nachrichten

CAP- Theorem

C: konsistent (alle Nutzer greifen auf die selben Daten zu)

A: Availibility

P: Partitionierung

NoSQL-Kategorien inkl. Beispiele und Erklärung

  1. Dokumentenorientere DB
    Schlüssel -> Dokument
    Bsp. mongoDB
  2. Key-Value-DB
    Schlüssel -> kleiner Wert
    Bsp. bei Logs, Amazon Dynamo
  3. Spaltenorientierte DB
    Spalten werden einzeln gespeichert, anders als bei SQL (Zeilen)
    Bsp. Cassandra
  4. Graphen DB
    Beziehungen werden gespeichert
    Bsp. Facebook- Freundschaften, Neo4J

Arten von Konsistenzen, Darstellung anhand von

N.. Anzahl aller vorhandenen Nodes

W... Anzahl aller Nodes, die beschrieben werden müssen

R... Anzahl aller Nodes, die gelesen werden müssen

  1. W=N, R=1 Consistency by writes
  2. R=N, R=1 Consistency by reads
  3. W+R <= N Eventual Consistency
  4. W+R > N Conssitency by quorum

Vector Check

NodeID, Versionssnr.

hilft bei Bestimmung von zeitl. Reihenfolge von Dateien

Map/ Reduce

= Verarbeitung riesiger Datenmengen

Map: Funktion liefert Daten pro Dokument und speichert in einem Zwischenergebnis

Reduce: Nimmt Zwischenergebnisse und fasst diese zu Endergebnis, z.B. Statistik, Sortieren

Cross-Site-Scripting

  • auch CSS
  • Angriff auf den Client
  • Client klickt auf den vorbereiteten Link und führt Javascript Datei aus

Gegenmassnahmen: Cross-Site-Scripting

  1. alle <script> Tags entfernen
  2. Eingaben überprüfen mit RegEx
  3. Sonderzeichen durch HTML-Entities ersetzen

Étudier