La plateforme de données en mémoire que votre équipe peut vraiment exploiter
Zaris est une plateforme de données en mémoire pour .NET — un cache compatible Redis, une recherche indexée et de la coordination dans un seul moteur, partitionné et répliqué sur votre cluster. Il est mesurablement plus rapide que Redis sur des nœuds de production, recherche un million d'enregistrements en millisecondes — plus vite qu'une base de données sur disque — et passe à l'échelle avec chaque nœud que vous ajoutez. Embarquez-le pour le développement, puis passez à un cluster sans changer une ligne de code.
Tout ce dont une plateforme de données en mémoire a besoin — rien à rajouter
Zaris livre le plan de données et le plan de contrôle ensemble, de sorte que vous obtenez stockage, coordination, sécurité et outillage dans une seule dépendance.
Partitionné et répliqué
Les données sont réparties en partitions sur les nœuds et répliquées pour la disponibilité, avec placement et rééquilibrage automatiques à mesure que le cluster grandit.
Recherche indexée
Une recherche de style SQL sur vos données en mémoire — correspondance exacte, plages, filtres combinés, préfixe et top-N ordonné — servie depuis des index par nœud, sans disque sur le chemin de requête. Un million d'enregistrements recherchés en millisecondes, plus vite qu'une base de données sur disque, et cela passe à l'échelle à mesure que vous ajoutez des nœuds.
Parle Redis, tous langages
Un frontend natif de protocole Redis (RESP) permet à des clients Redis ordinaires — Python, Ruby, Java, Go et plus — d'utiliser Zaris comme store de remplacement direct, avec basculement en Load Balancer et en Cluster.
Structures de données natives
Hachages, listes, ensembles et ensembles triés côté serveur — les analogues des types Redis — comme API .NET de premier ordre et derrière les commandes RESP HSET/LPUSH/SADD/ZADD.
Pub/sub et Streams
Publication/abonnement à l'échelle du cluster et Streams durables avec groupes de consommateurs et lectures bloquantes — natifs, et derrière les commandes RESP SUBSCRIBE/PUBLISH et X*.
Transactions et CAS
Les transactions atomiques multi-clés et le compare-and-swap maintiennent les mises à jour concurrentes correctes sous charge.
Surveillances, baux et verrous
Diffusez les changements en temps réel, coordonnez le travail avec des baux et des verrous distribués, et élisez des leaders.
Compteurs et TTL
Des compteurs atomiques avec bornes, et une expiration par durée de vie pour les caches, les sessions et les fenêtres de limitation de débit.
Sécurité intégrée
TLS mutuel avec quatre modèles de CA/confiance, authentification par jeton et RBAC refusé par défaut — activé par store.
Console et PowerShell
Une console web et un outillage PowerShell complet pour créer, mettre à l'échelle, sécuriser et observer chaque store.
In-process pour le dev. En cluster pour la production.
Une clé est possédée par une partition et répliquée vers des suiveurs. Les clients sont routés automatiquement vers le propriétaire, de sorte que les lectures et les écritures restent cohérentes tandis que le cluster tolère la perte de nœuds.
- S'exécute en embarqué sans aucun serveur — parfait pour le dev et les tests locaux.
- Passez à un cluster multi-nœuds avec le même code client.
- Propriété de partition et placement de réplicas automatiques.
- La panne d'un nœud est tolérée jusqu'à votre facteur de réplication.
See your whole cluster at a glance
Chaque cluster Zaris est livré avec une console web intégrée — débit en temps réel, propriété des partitions, santé des nœuds, données en direct et sécurité.
De la mise en cache à la coordination
Les équipes font appel à Zaris dès que l'état partagé ou la coordination est sur le chemin critique.
Accélérer une application lente
Mettez en cache les requêtes coûteuses, les réponses d'API et les fragments rendus avec une latence quasi nulle in-process — puis partagez le cache entre les instances lorsque vous passez à l'échelle.
Store de sessions distribué
Gardez les sessions utilisateur cohérentes sur chaque instance derrière votre load balancer, avec l'expiration TTL gérée pour vous.
Coordination et élection de leader
Exécutez des singletons en toute sécurité, protégez les sections critiques avec des verrous distribués et élisez un leader pour la planification et l'orchestration.
Mises à jour en direct avec les surveillances
Réagissez aux changements de données à l'instant où ils se produisent — rechargements de configuration, présence, tableaux de bord et diffusion d'événements.
Limitation de débit et quotas
Appliquez des fenêtres fixes et glissantes avec des compteurs atomiques, à l'échelle du cluster, sans service séparé.
Files de tâches et de jobs
Coordonnez producteurs et workers concurrents avec des baux et des revendications atomiques sur l'état partagé.
Un cache distribué en quelques lignes
Enregistrez un store avec l'injection de dépendances, puis écrivez et lisez. Commencez in-process ; pointez le même code vers un cluster quand vous êtes prêt.
Read the docs// In-process is just a connection string: zaris://inproc/orders
var services = new ServiceCollection()
.AddClustronZaris("orders", "zaris://inproc/orders")
.BuildServiceProvider();
var client = await services
.GetRequiredService<IZarisClientProvider>()
.GetAsync("orders");
// Cache an expensive computation for 5 minutes
await client.PutAsync("cart:42", cart, Put.WithTtl(TimeSpan.FromMinutes(5)));
var cached = await client.GetAsync<Cart>("cart:42");
Ready to build with Zaris?
Get started in minutes, or talk to us about your architecture.
