Frequently asked questions
Short answers to the questions people ask when they first evaluate Clustron. Each one links to the fuller documentation.
What is Clustron?
Clustron is a family of composable .NET building blocks for distributed systems — clustering, authorization, metrics, and a distributed key-value store. Each block is a NuGet package you embed in your own application, with no external coordinator (ZooKeeper, etcd, or Consul) to run. The flagship product, Zaris, is what you get when the three primitives are composed into one distributed key-value store. See What is Clustron?.
Do I need Redis, and how does Clustron compare?
No — Clustron Zaris is an alternative to Redis for .NET systems, not a layer on top of it. Redis is a mature, language-agnostic server you operate as separate infrastructure; Zaris is an embeddable .NET library you can run in-process or as a remote cluster, with coordination primitives exposed as native .NET APIs. Choose Redis for language reach and a long production track record; choose Zaris when your services are .NET and you value in-process development and native coordination. See Clustron vs Redis.
When should I use in-process versus distributed mode?
Use in-process mode when you want no infrastructure — local development, unit and integration testing, and single-instance apps — since the store runs inside your own process and is the fastest way to start. Use distributed mode when a single process is not enough: high availability, sharing state across multiple instances, or scaling past one machine. The API is identical in both, so you develop in-process and deploy distributed without changing application code. See In-process and distributed modes.
Are the locks and leases reliable?
Yes — they are designed to be safe under failure, which is the hard part. A lease is time-bound ownership that expires automatically if its holder crashes or loses the network, and Zaris locks are lease-backed, so a dead owner cannot deadlock everyone else. One caveat: under the default Async replication a failover can lose writes that had not yet replicated, so use Sync replication when a failover must not lose recent writes. See Leases and the coordination model.
Which .NET versions are supported?
The core client abstractions target netstandard2.0, so thin clients run on .NET Framework 4.8 and .NET 8+ alike. Running a store in-process requires .NET 8 or later, and the richer adapters — such as the ASP.NET Core integration — target net8.0. See Run in-process and the design principles in What is Clustron?.
Is it secure? Does it support TLS?
Yes. Zaris secures a cluster with three independent layers you enable separately: TLS encryption in transit (on both the data plane and the control plane), token authentication verified offline, and role-based access control (RBAC), which is deny-by-default. A development cluster can run plaintext with all three off, and a production cluster typically runs all three on. See the security overview.
Can I run it on Kubernetes?
Yes. There is an official Helm chart that runs the nodes as a StatefulSet with a headless Service in the attach deployment model: Kubernetes runs the node processes while the Zaris manager observes them and serves the control plane and web console. Peers are discovered from pod ordinals and DNS, so scaling out is a hot kubectl scale — no ConfigMap edit and no restart of existing pods. Rolling updates are safe — each node exposes convergence-gated /livez and /readyz probes, so Kubernetes stops routing to a pod before it drains, and a PodDisruptionBudget bounds voluntary disruption. Out-of-cluster clients are supported through an external listener with advertised addresses, and TLS with multi-SAN certificates secures it. All of this was validated on a live cluster.
The main caveat is that scale-in is not yet drain-safe — shrink one step at a time and let replication re-establish the replication factor between steps. See the Kubernetes deployment guide — including scaling — and the deployment overview.
What's the difference between a server, a node, and a store?
A server is a machine running Zaris, identified by its management address (host:7801). A node is a single store process a server runs — one per partition-replica slot — and one server typically runs several nodes. A store is the logical data unit those nodes present to clients. One server can host nodes for several stores, and one store's nodes can span several servers. See Server, Node, and Store, or the Glossary.
Is Zaris free? Do I need a licence for production?
Zaris is free to download and build with — the client SDK, in-process mode, the full data plane and coordination primitives, and PowerShell administration — and every deployment includes three months of support. Running Zaris in production is licensed, and continued support (SLAs, direct access) after the included three months needs a support plan. In practice the only thing that changes when the support window ends is that the web console locks to a licence screen; the data plane, replication, failover, and PowerShell admin keep working, so a production cluster keeps serving. Set ZARIS_SUPPORT_KEY (issued with a licence) to re-enable the console, or ZARIS_SUPPORT_ACK_NONPROD=true for development. See Support and licensing and Support plans.