Ich habe die Vorstellung eines sozialen Netzwerks, das robust gegen böswillige Angriffe von außen ist. Meine Vision ist ein System, das strukturell als verteiltes Netzwerk gleicher Server aufgebaut ist, die mit denselben Daten arbeiten und die gleichen Dienste anbieten. Benutzer sollten alle im selben Netzwerk interagieren, unabhängig von dem jeweiligen Server, mit dem sie kommunizieren. Die Idee ist, (zumindest theoretisch) jede Gelegenheit zu verhindern, das gesamte System herunterzufahren und einen Totalausfall des gesamten Dienstes zu erreichen. Offensichtlich ist der Entwurf eines solchen Systems aufgrund geeigneter Synchronisationsmechanismen nicht trivial. Auf der anderen Seite besteht die Herausforderung, die Teilnehmer zu den entsprechenden Servern zu befördern. Hoffe du hast meine Idee grob bekommen.
Die Sache ist, dass ich nur eine vage Vorstellung davon habe, wie ein solches System funktionieren kann, und außerdem die relevanten Vorlesungen über verteilte Systeme in meinen cs-Studien scheinbar erfolgreich übergangen habe. Mir fehlt daher ein wenig der Überblick über relevante Literatur, wissenschaftliche Arbeiten, die theoretische Modelle beschreiben, und auch Beispiele aus der Praxis.
Kann mir jemand mit Referenzen, Links und hilfreichen Erklärungen helfen?
Für mich suchen Sie nach dem Ansatz der "replizierten Zustandsmaschine", einer allgemeinen Methode zum Implementieren eines fehlertoleranten Dienstes durch Replizieren von Servern und Koordinieren von Clientinteraktionen mit Serverreplikaten.
Sie können zuerst das Wiki überprüfen : Replikation von Zustandsautomaten und das Umfragepapier Implementieren fehlertoleranter Dienste mithilfe des Zustandsmaschinenansatzes: Ein Lernprogramm .
Zum weiteren Lesen müssen Sie möglicherweise den Algorithmus für verteilten Konsens lernen, insbesondere den Paxos-Algorithmus (z. B. Paxos Made Simple ).
quelle