Anmelden

Schlüsseltechnologie· Staffel 1· Folge 27

STP027: Verteilte Systeme

Donnerstag, 27. Oktober 2022 · 58 min

MP3

Shownotes

<p>In dieser Episode bringt Xyrill uns versprengte Systeme näher. Dabei erfahren wir auch, dass Dinge, die wir als Grundvoraussetzung ansehen würden, bei genauerer Betrachtung gar nicht so selbstverständlich sind.</p><h2>Shownotes</h2><a href="de.wikipedia.org/w/index.php?title=Verteiltes_… Wikipedia</a> eine überraschend breite Definition:</p>
<blockquote>
<p>Ein verteiltes System ist [...] ein Zusammenschluss unabhängiger Computer, die sich für den Benutzer als ein einziges System präsentieren.</p>
</blockquote>
<ul>
<li>
<p>Motivationen für verteilte Systeme</p>
<ul>
<li>Kommunikation zwischen Computern mit verschiedenen Eigentümern (z.B. Chatnetzwerk, Banküberweisung)</li>
<li>Teilen von Ressourcen (z.B. Druckerfreigabe)</li>
<li>Hochverfügbarkeit</li>
<li>Lastverteilung</li>
</ul>
</li>
<li>
<p>Grundlage des Problems: <a href="de.wikipedia.org/w/index.php?title=CAP-Theorem…;
<ul>
<li>Es gibt drei extrem wünschenswerte Eigenschaften. Wähle zwei.</li>
<li><strong>Konsistenz</strong> (Consistency): Lesevorgänge liefern immer die Daten, die zuletzt geschrieben wurden.</li>
<li><strong>Verfügbarkeit</strong> (Availability): Alle Anfragen an das System werden stets beantwortet.</li>
<li><strong>Partitionstoleranz</strong>: Das System kann bei Störungen des Netzwerkes oder einzelner Computer weiterarbeiten.</li>
</ul>
</li>
<li>
<p>Beispiele bekannter Systeme gemäß CAP-Klassifikation</p>
<ul>
<li>CP: Banküberweisung, Geldautomat</li>
<li>CA: Datenbanksysteme (siehe Folge 12)</li>
<li>AP: DNS (siehe Folge 18)</li>
</ul>
</li>
<li>
<p>Komplexbeispiel: Verteilte Datenbank mit <a href="en.wikipedia.org/w/index.php?title=Raft_(algor…)&oldid=1095427922">Raft-Konsensalgorithmus</a></p>
<ul>
<li>Computernetzwerk aus N gleichartigen Teilnehmern (N meist ungerade, um Pattsituationen zu vermeiden)</li>
<li>pro <strong>Wahlperiode</strong> ein <strong>Anführer</strong>, alle anderen folgen dem Anführer</li>
<li>Schreibvorgänge gehen an den Anführer, werden von ihm an die Folger verteilt, und erst quittiert, wenn eine Mehrzahl der Folger Vollzug meldet</li>
<li>Anführer sagt regelmäßig (Größenordnung 150-300 ms) allen Folgern Bescheid, dass er noch anführt</li>
<li>bei Ausbleiben der Meldung vom Anführer startet jeder Folger eine neue Wahlperiode und stimmt für sich selbst als neuen Anführer</li>
<li>pro Wahlperiode:
<ul>
<li>wer jemand anderen abstimmen sieht, bevor er selbst abstimmt, folgt sofort der gesehenen Stimme</li>
<li>wer die Mehrheit der Stimmen auf sich vereinigt, ist der neue Anführer</li>
</ul>
</li>
<li>bei Pattsituationen beginnt nach einer Wartefrist die nächste Wahlperiode (Wartefrist ist pro Teilnehmer randomisiert, um Kettenpatt zu vermeiden)</li>
<li>CAP-Bewertung: CA (nicht partitionstolerant, weil eine Mehrheit der Teilnehmer erforderlich ist)</li>
</ul>
</li>
<li>
<p>hier nicht betrachtet: <a href="de.wikipedia.org/w/index.php?title=Byzantinisc… Fehler</a></p>
<ul>
<li>Paper: <a href="web.archive.org/web/20140124011140/research.mi… Saddest Moment</a></li>
<li>Analogie zu Wahlcomputern</li>
</ul>
</li>
<li>
<p>zum Nachlesen: <a href="de.wikipedia.org/w/index.php?title=Fallacies_o… der verteilten Datenverarbeitung</a></p>
</li>
<li>
<p>Sidebar: <a href="de.wikipedia.org/w/index.php?title=Volunteer-C… Computing</a> (BOINC, SETI@Home, Folding@Home, etc.)</p>
<ul>
<li>siehe <a href="c3d2.de/news/pentacast-56-folding.html"&g… 56</a></li>
</ul>
</li>
<li>
<p>Nachtrag: geführte Visualisierung des Raft-Algorithmus (englisch): <a href="thesecretlivesofdata.com/raft/">https:…;
</li>
</ul>

Anmelden oder registrieren

Jetzt

0:00 / 0:00