Frage

Wenn man ein abfragbares Peer-to-Peer-System hat, würde man das gerne tun

  • Reduzieren Sie die Gesamtzahl der Abfragen im gesamten Netzwerk (indem Sie „beliebte“ Elemente weiträumig und „ähnliche“ Elemente gemeinsam verteilen).
  • Vermeiden Sie überschüssigen Speicher an jedem Knoten
  • Gewährleisten Sie eine gute Verfügbarkeit selbst einigermaßen seltener Gegenstände bei Ausfallzeiten des Clients, Hardwarefehlern und Weggang von Benutzern (möglicherweise Aufspüren seltener Gegenstände für Archivare/Historiker).
  • Vermeiden Sie, dass Abfragen bei Netzwerkpartitionen keine Übereinstimmungen finden

Angesichts dieser Anforderungen:

  1. Gibt es Standardansätze?Wenn nicht, gibt es angesehene, aber experimentelle Forschungsergebnisse?Einige kennen sich mit Verteilungsschemata aus, aber ich habe noch nichts gesehen, das sich wirklich mit dem Lernen für Robustheit befasst.
  2. Übersehe ich irgendwelche offensichtlichen Kriterien?
  3. Hat jemand Interesse daran, an diesem Problem zu arbeiten bzw. es zu lösen?(Wenn ja, bin ich gerne bereit, einen Teil eines sehr lahmen Simulators, den ich dieses Wochenende zusammengestellt habe, als Open-Source-Version bereitzustellen, und gebe im Allgemeinen wenig hilfreiche Ratschläge.)

@cdv:Ich habe mir jetzt das Video angesehen und es ist sehr gut, und obwohl ich nicht das Gefühl habe, dass es zu einer steckbaren Vertriebsstrategie wird, ist es auf jeden Fall zu 90 % geschafft.Die Fragen heben jedoch nützliche Unterschiede zu diesem Ansatz hervor, die einige meiner weiteren Bedenken ansprechen, und geben mir einige Hinweise, die ich weiterverfolgen kann.Daher akzeptiere ich Ihre Antwort vorläufig, obwohl ich die Frage für offen halte.

War es hilfreich?

Lösung

Wenn Sie Zeit haben, lohnt es sich, einen Blick darauf zu werfen der Google-Tech-Talk, den Wuala hielt.Sie diskutieren dieselben Probleme, mit denen sie beim Aufbau ihres Peer-to-Peer-Dateisystems konfrontiert waren.

Andere Tipps

Es gibt mehrere Systeme mit unterschiedlichen Aspekten dessen, was Sie suchen, und jedes geht unterschiedliche Kompromisse ein, einschließlich, aber nicht beschränkt auf:

Amazons Dynamo: http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf

Kai: http://www.slideshare.net/takemaru/kai-an-open-source-implementation-of-amazons-dynamo-472179

Hadoop: http://hadoop.apache.org/core/docs/current/hdfs_design.html

Akkord: http://pdos.csail.mit.edu/chord/

Bienenstock: http://www.cs.cornell.edu/People/egs/beehive/

und viele andere.Nachdem ich ein benutzerdefiniertes System in dieser Richtung erstellt hatte, habe ich einige der Bausteine ​​auch in Open-Source-Form veröffentlicht: http://code.google.com/p/distributerl/(Das ist kein ganzes System, aber ein paar Bibliotheken, die beim Aufbau eines solchen nützlich sind)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top