Was passiert, wenn man zentrale Dinge nicht mag? Man macht P2P! Ich habe ein verteiltes Smart Office mit Elixir erstellt, das in einem einzigen P2P-Netzwerk läuft. Es gibt viele Feinheiten dabei. Wie können wir verhindern, dass jemand in das Netzwerk eintritt? Wie verwalten wir gemeinsame Daten? Welche Topologie verwenden wir? Was ist mit Knoten, die unzuverlässig sind und bei denen wir uns nicht sicher sind, wann sie sich verbinden oder trennen? Was ist, wenn DU einen Knoten hinzufügen möchtest und wir dir nicht vertrauen können, Nachrichten zu übermitteln? Ich werde das Büro als Beispiel verwenden und dir zeigen, wie unterschiedlich das Denken in einem webähnlichen zentralisierten Kontext im Vergleich zu einem P2P-verteilten System ist. Wir werden von einfachen P2P-Topologien (Gossip, Bäume) zu komplexeren (Gnutella2, HyParView, Plumtrees) übergehen, ihre Probleme analysieren und einen Blick darauf werfen, was CRDTs sind und wie großartig sie für gemeinsame Daten sein können.