Alles, was Clustron Zaris kann
Ein verteilter In-Memory-Store für .NET — und viel mehr als ein Cache. Jede Funktion unten verweist auf eine Demo, die zugehörige Dokumentation und ein lauffähiges Beispiel. Derselbe Client und dieselbe Connection String erreichen alles.
Datenmodell & Strukturen
Key/Value-Store
Der zentrale verteilte Key/Value-Store mit typisiertem .NET-Client — Put, Get, Delete und die Optionen, die Sie überall verwenden.
Hashes, Listen, Sets & Sorted Sets
Collections im Redis-Stil als erstklassige, serverseitige Typen — jede ein einzelner replizierter Key, über die typisierte API oder die RESP-Befehle HSET/LPUSH/SADD/ZADD.
TTL & Ablauf
Time-to-Live pro Key für Caches, Sessions und Rate-Fenster — setzen, erneuern und Keys automatisch ablaufen lassen.
Atomare Zähler
Einen gemeinsamen Wert atomar erhöhen und lesen, mit optionalen Grenzen — Bestenlisten, Kontingente und Metering.
Kompatibilität mit dem Redis-Protokoll
RESP-Front-End, jede Sprache
Ein integrierter Listener für das Redis-Protokoll lässt gewöhnliche Redis-Clients — Python, Ruby, Java, Go und mehr — Zaris als Drop-in-Store nutzen.
Drop-in für StackExchange.Redis
Richten Sie Ihren bestehenden .NET-Redis-Code auf einen Zaris-Node — dieselben Aufrufe, jetzt auf einem partitionierten, replizierten Store, ohne Umschreiben.
Befehlskompatibilität
Die unterstützte RESP-Befehlsoberfläche über Strings, Hashes, Listen, Sets, Sorted Sets, Streams und Pub/Sub — und was sauber abgelehnt wird.
Direktes Routing & Failover
CRC16-konforme Slots ermöglichen es Cluster-fähigen Clients, direkt zum besitzenden Node zu routen — kein Proxy-Hop. Die Failover-Modelle Load Balancer und Cluster werden unterstützt.
Messaging & Streaming
Pub/Sub
Clusterweites Publish/Subscribe — Nachrichten werden an Subscriber auf jedem Node verteilt, mit Pattern-Subscriptions — nativ und hinter RESP SUBSCRIBE/PUBLISH.
Streams & Consumer Groups
Ein dauerhaftes, repliziertes Append-only-Log mit Consumer Groups und blockierenden Lesevorgängen — Work Queues, Change Feeds, Event Sourcing — nativ und hinter den RESP-X*-Befehlen.
Change Data Capture (CDC)
Ein erstklassiger, dauerhafter, geordneter Change Feed jedes Puts und Deletes im Keyspace — automatisch erfasst. Streamen Sie Änderungen an einen Suchindex, Cache-Invalidierer, eine Materialized View oder ein Audit-Log und setzen Sie von einem serverseitig verfolgten Cursor genau dort fort, wo Sie aufgehört haben.
Koordinationsprimitive
Transaktionen
Atomare Multi-Key-Transaktionen mit optimistischer Konflikterkennung halten gleichzeitige Updates unter Last korrekt.
Compare-and-Swap
Optimistische Nebenläufigkeit — aktualisieren Sie einen Wert nur, wenn er sich nicht geändert hat, ganz ohne Locks.
Watches
Reagieren Sie in Echtzeit auf Key- und Präfix-Änderungen statt zu pollen — Konfigurations-Reloads, Presence, Dashboards, Fan-out.
Leases & verteilte Locks
Zeitlich begrenzter Besitz von Keys und Mutual-Exclusion-Locks mit automatischem Ablauf — die Grundlage für sichere Koordination.
Leader-Election
Wählen Sie über Instanzen hinweg mit Leases und Watches einen einzelnen Leader; bei einem Ausfall übernimmt ein Überlebender.
Rate Limiting
Setzen Sie feste und gleitende Fenster mit atomaren Zählern clusterweit durch, ohne separaten Service.
Caching für .NET
IDistributedCache
Nutzen Sie Zaris als ASP.NET-Core-IDistributedCache-Provider — Ihr Caching-Code ändert sich nicht, nur das, was dahintersteht.
HybridCache
Ein In-Process-L1 über dem verteilten L2, mit Tag-Invalidierung und Stampede-Schutz — Geschwindigkeit mit Konsistenz.
ASP.NET-Core-Session-Store
Halten Sie den ASP.NET-Core-Session-State mit einem einzigen AddZarisSession-Aufruf in Zaris — jede Instanz hinter einem Load Balancer bedient die nächste Anfrage, und Sessions überstehen Neustarts.
Klassischer ASP.NET SessionState
Ein Drop-in-System.Web-SessionStateStoreProvider für Web Forms / klassisches MVC — verlagern Sie den Session-State mit einer web.config-Änderung weg vom In-Proc-Speicher oder SQL Server.
Bulk- & Batch-Operationen
PutMany/GetMany mit hohem Durchsatz und Batches gemischter Operationen, die viele Keys pro Besitzer zu einem einzigen Round-Trip bündeln.
Verteilung & Verfügbarkeit
Partitionierung & Replikation
Daten werden auf Nodes verteilt (Sharding) und mit automatischer Platzierung repliziert (RF2) — ein Primary und ein Replikat auf unterschiedlichen Nodes.
Live-Failover ohne Datenverlust
Beenden Sie einen Node mitten im Datenverkehr, und seine Replikate werden sofort hochgestuft — der Client läuft unterbrechungsfrei weiter, und es gehen keine bestätigten Schreibvorgänge verloren.
Elastische Skalierung
Fügen Sie Nodes hinzu, während der Cluster Anfragen bedient — Zaris erzeugt die Partitionsübersicht neu und migriert Daten automatisch, ohne Ausfallzeit.
Globale Verteilung
WAN-Active-Active-Georeplikation
Betreiben Sie unabhängige Zaris-Cluster in zwei oder mehr Regionen und replizieren Sie zwischen ihnen über einen wiederaufnehmbaren Change Feed. Jeder Standort nimmt Schreibvorgänge lokal entgegen und liefert Lesezugriffe mit niedriger Latenz — kein gestreckter Cluster, sodass jede Region den vollständigen Ausfall der Verbindung zwischen den Standorten übersteht und von ihrem dauerhaften Cursor aus fortsetzt.
Deterministische Konfliktauflösung
Gleichzeitige Schreibvorgänge an verschiedenen Standorten konvergieren mit Hybrid-Logical-Clock-Last-Writer-Wins zum selben Wert, und Zähler nutzen einen PN-Counter, sodass gleichzeitige Inkremente nie verloren gehen — jede Region endet konsistent, ohne dass ein Koordinator dazwischenstehen muss.
Live-Replikationstopologie & RPO
Automatische site.*-Zähler in beide Richtungen und ein RPO, das als Alter der ältesten noch nicht angewendeten Operation gemeldet wird — in der Web-Konsole als animierte, live aktualisierte Replikationskarte mit Statusbanner visualisiert.
Sicherheit
Mutual TLS
Verschlüsseln und authentifizieren Sie jede Verbindung gegenseitig, mit vier CA-/Vertrauensmodellen von automatisch generiert bis Bring-your-own-CA.
Token-Authentifizierung
Verlangen Sie ein Token für den Verbindungsaufbau, sicher aus einer Umgebungsvariablen oder Datei bereitgestellt — nie in der Connection String.
RBAC
Rollenbasierte Zugriffskontrolle mit Deny-by-Default — gewähren Sie jeder Identität genau die Operationen, die sie benötigt, pro Store aktivierbar.
Betrieb & Tooling
Web-Konsole
Erstellen, skalieren, absichern und überwachen Sie jeden Store im Browser — Nodes, Partitionen, Mitgliedschaft und Live-Metriken.
PowerShell-Module
Vollständiges Kommandozeilen-Tooling für Workspaces, Stores, Skalierung, Sicherheit und Diagnose — durchgängig skriptfähig.
Plattformunabhängige Connection Strings
Eine Connection String erreicht jedes Deployment — kommagetrennte Seed-Hosts mit automatischem Failover, Store-Name im Pfad.
Überall einsetzbar
In-Process, Docker & Compose, Kubernetes (Helm) oder ein Windows-Paket — derselbe Client und dieselbe Connection String erreichen sie alle.
Sehen Sie es laufen, dann betreiben Sie es selbst
Sehen Sie sich die Demos an, lesen Sie die Dokumentation oder installieren Sie Zaris und verbinden Sie sich in wenigen Minuten.