Zum Hauptinhalt springen

Die Clustron-Produktfamilie

Clustron besteht aus zwei Produkten, nicht aus einem. Dieser Artikel gibt einen Überblick über die Familie: was jedes Produkt ist, welches Problem es abdeckt, wie die Produkte zusammenspielen und wie Sie das richtige für Ihren Bedarf auswählen.

Auf einen Blick​

Jedes Produkt wird unabhängig versioniert und löst ein eigenes Problem. Zaris ist das Flaggschiff, das Nodus einbindet und Sicherheit sowie Metriken darüber legt.

ProduktRolle in einem SatzPaketfamilieVersionEigenständig nutzbar?
ZarisVerteilter Key/Value-StoreClustron.Zaris.*2.0.0Flaggschiff — bindet Nodus ein
NodusClustering- und Messaging-KernClustron.Nodus.*2.0.0Ja

Zaris legt sich auf die exakte Nodus-Version fest, mit der es gebaut und getestet wurde. So beziehen Sie einen in sich stimmigen Satz, anstatt bewegliche Teile selbst abzugleichen.

Was jedes Produkt abdeckt​

Die beiden Produkte teilen den Problemraum verteilter Systeme sauber untereinander auf. Jeder Abschnitt nennt die Frage, die das jeweilige Produkt beantwortet.

Nodus — „Wer gehört zum Cluster, und wer hat das Sagen?"​

Nodus ist ein schlanker Clustering- und Messaging-Kern. Ein Prozess, der darauf verweist, kann:

  • Einem Peer-to-Peer-Cluster beitreten, ausgehend von einer statischen oder dynamisch bereitgestellten Peer-Menge, wobei Beitritt und Austritt als Events gemeldet werden.
  • Einen Leader wählen mit austauschbaren Bully-Strategien (höchste ID, ältester Node), einem Epoch-Zähler und einem anwendungsseitig bereitgestellten Tiebreaker.
  • Typisierte Nachrichten senden, Punkt-zu-Punkt oder clusterweit, einschließlich Request/Reply, über Pipelined TCP mit MessagePack auf der Leitung.
  • Clusterweite Events veröffentlichen und abonnieren über einen typisierten Bus, der vom direkten Messaging getrennt ist.
  • Ausfälle erkennen durch Heartbeat-Überwachung, Erreichbarkeit pro Peer und ein Verdachtsfenster vor der Eviction.
  • Einen Gossip-Digest mitführen, der auf dem Heartbeat-Verkehr mitläuft, ohne ein zweites Protokoll zu betreiben.

Es übernimmt die Rolle, die ZooKeeper, etcd oder Consul spielen würden — aber als In-Process-Bibliothek, ohne dass etwas Externes betrieben werden muss.

Zaris — „Wo lebt der gemeinsame Zustand?"​

Zaris ist der verteilte Key/Value-Store, der Clustering zu einem betreibbaren Produkt zusammenfasst, mit integrierter Sicherheit und Metriken:

  • Datenebene: partitionierte, replizierte In-Memory-Key/Value-Speicherung mit Transaktionen, Watches, Leases, verteilten Locks, atomaren Countern und TTL.
  • Steuerungsebene: ein Management-Dienst und eine Web-Konsole, um Stores anzulegen, Nodes zu platzieren und zu skalieren und den Cluster zu beobachten.
  • Clustering stammt von Nodus. Sicherheit ist integriert — Mutual TLS, offline verifizierte Bearer-Tokens und rollenbasierte Zugriffskontrolle (RBAC), die standardmäßig verweigert. Observability ist integriert — rollierende Metriken im Sekundentakt, die kostengünstig auf dem Hot Path erfasst und über OTLP exportiert werden.
  • Zwei Betriebsarten: In-Process (eingebettet, ohne Server — ideal für Entwicklung und Tests) oder remote (ein echter Multi-Node-Cluster).

Das Zusammenspiel konkret​

Wenn Sie einen abgesicherten Zaris-Cluster betreiben, zeigt das Diagramm, was bei einer einzelnen Anfrage geschieht.

Bei einer abgesicherten Anfrage sendet ein Client eine Operation und ein Bearer-Token über TLS an einen Zaris-Node; die Sicherheitsschicht autorisiert sie offline, Nodus leitet zur zuständigen Partition weiter, und die Metrik-Engine erfasst den Aufruf, während Zaris die Operation auf der Datenebene ausführt und das Ergebnis zurückgibt.

  • Nodus hat entschieden, welcher Node den Schlüssel besitzt, und hielt im Hintergrund Mitgliedschaft und Leadership des Clusters aktuell.
  • Die Sicherheitsschicht hat entschieden, ob der Aufrufer berechtigt war — ohne Netzwerk-Hop.
  • Die Metrik-Engine hat festgehalten, dass es passiert ist — kostengünstig auf dem Hot Path.
  • Zaris hat alles zusammengeführt und das Ergebnis zurückgegeben.

Nodus ist auch allein nützlich — Zaris ist schlicht der Ort, an dem Clustering, Sicherheit und Metriken bereits verdrahtet und gehärtet sind.

So wählen Sie aus​

Richten Sie sich nach dem Problem, das Sie tatsächlich haben.

Wenn Sie Folgendes brauchen …Verwenden SieGreifen Sie nicht zu
Gemeinsame Daten über Instanzen hinweg speichern oder einen verteilten CacheZarisNodus allein (es ist kein Store)
Einen Leader wählen / Node-Ausfälle erkennen / Peers benachrichtigenNodusZaris (außer Sie brauchen auch Speicherung)
Einen verteilten Store, in dem Sicherheit und Metriken bereits verdrahtet sindZarisDie Bausteine von Hand zusammensetzen
tipp

Eine nützliche Faustregel: Wenn Ihr Bedarf „Daten" oder „Cache" erwähnt, beginnen Sie bei Zaris; andernfalls bei Nodus. Das jeweils andere können Sie später jederzeit ergänzen — genau dafür ist die Familie gedacht.

Lizenzierung und Kompatibilität​

Die Familie teilt sich einheitliche Plattformziele und Versionierungsregeln.

  • Ziele: Die Kernbibliotheken jedes Produkts zielen auf netstandard2.0 und laufen daher unter .NET Framework 4.8 und .NET 8+. Adapter, Hosts und Exporter zielen auf net8.0.
  • Wire-Protokoll und Serialisierung: Nodus nutzt Pipelined TCP mit MessagePack; Zaris verwendet ein eigenes binäres Datenebenen-Protokoll mit Wire-Kompatibilitätsgarantien über Versionen hinweg.
  • Unabhängige Versionierung: Jedes Produkt erscheint in eigenem Rhythmus. Wenn Sie Zaris beziehen, legt sein Paket die getestete Nodus-Version fest, sodass Sie einen in sich stimmigen Satz statt beweglicher Teile erhalten.

Nächste Schritte​