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.
| Produkt | Rolle in einem Satz | Paketfamilie | Version | Eigenständig nutzbar? |
|---|---|---|---|---|
| Zaris | Verteilter Key/Value-Store | Clustron.Zaris.* | 2.0.0 | Flaggschiff — bindet Nodus ein |
| Nodus | Clustering- und Messaging-Kern | Clustron.Nodus.* | 2.0.0 | Ja |
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.
- 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 Sie | Greifen Sie nicht zu |
|---|---|---|
| Gemeinsame Daten über Instanzen hinweg speichern oder einen verteilten Cache | Zaris | Nodus allein (es ist kein Store) |
| Einen Leader wählen / Node-Ausfälle erkennen / Peers benachrichtigen | Nodus | Zaris (außer Sie brauchen auch Speicherung) |
| Einen verteilten Store, in dem Sicherheit und Metriken bereits verdrahtet sind | Zaris | Die Bausteine von Hand zusammensetzen |
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.0und laufen daher unter .NET Framework 4.8 und .NET 8+. Adapter, Hosts und Exporter zielen aufnet8.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.