Todo lo que hace Clustron Zaris
Un almacén distribuido en memoria para .NET, y mucho más que una caché. Cada funcionalidad a continuación enlaza con una demostración, su documentación y un ejemplo ejecutable. El mismo cliente y la misma cadena de conexión alcanzan todo.
Modelo y estructuras de datos
Almacén clave/valor
El almacén distribuido clave/valor principal con un cliente .NET tipado: put, get, delete y las opciones que usas en todas partes.
Hashes, listas, conjuntos y conjuntos ordenados
Colecciones estilo Redis como tipos de primera clase en el servidor: cada una una única clave replicada, mediante la API tipada o los comandos RESP HSET/LPUSH/SADD/ZADD.
TTL y expiración
Tiempo de vida por clave para cachés, sesiones y ventanas de tasa: establece, renueva y deja que las claves expiren automáticamente.
Contadores atómicos
Incrementa y lee un valor compartido de forma atómica, con límites opcionales: tablas de clasificación, cuotas y medición.
Compatibilidad con el protocolo Redis
Front-end RESP, cualquier lenguaje
Un escucha del protocolo Redis integrado permite que clientes Redis convencionales (Python, Ruby, Java, Go y más) usen Zaris como almacén directo.
Reemplazo directo de StackExchange.Redis
Apunta tu código Redis de .NET existente a un nodo Zaris: las mismas llamadas, ahora sobre un almacén particionado y replicado, sin reescritura.
Compatibilidad de comandos
La superficie de comandos RESP admitida en strings, hashes, listas, conjuntos, conjuntos ordenados, streams y pub/sub, y qué se rechaza de forma limpia.
Enrutamiento directo y conmutación por error
Los slots alineados con CRC16 permiten que los clientes compatibles con clúster enruten directamente al nodo propietario, sin salto de proxy. Se admiten los modelos de conmutación por error Load Balancer y Cluster.
Mensajería y streaming
Pub/Sub
Publicación/suscripción en todo el clúster: los mensajes se distribuyen a los suscriptores en cualquier nodo, con suscripciones por patrón, de forma nativa y detrás de RESP SUBSCRIBE/PUBLISH.
Streams y grupos de consumidores
Un registro de solo anexado, duradero y replicado, con grupos de consumidores y lecturas bloqueantes: colas de trabajo, feeds de cambios, event sourcing, de forma nativa y detrás de los comandos RESP X*.
Captura de datos de cambios (CDC)
Un feed de cambios de primera clase, duradero y ordenado de cada Put y Delete en el espacio de claves, capturado automáticamente. Transmite los cambios a un índice de búsqueda, invalidador de caché, vista materializada o registro de auditoría, y reanuda exactamente donde lo dejaste desde un cursor rastreado por el servidor.
Primitivas de coordinación
Transacciones
Las transacciones atómicas multiclave con detección optimista de conflictos mantienen correctas las actualizaciones concurrentes bajo carga.
Comparar e intercambiar (CAS)
Concurrencia optimista: actualiza un valor solo si no ha cambiado, sin necesidad de bloqueos.
Observadores
Reacciona a los cambios de claves y prefijos en tiempo real en lugar de hacer sondeos: recargas de configuración, presencia, paneles y distribución.
Concesiones y bloqueos distribuidos
Propiedad temporal de claves y bloqueos de exclusión mutua con expiración automática: la base de una coordinación segura.
Elección de líder
Elige un único líder entre instancias mediante concesiones y observadores; un superviviente toma el relevo ante un fallo.
Limitación de tasa
Aplica ventanas fijas y deslizantes con contadores atómicos, en todo el clúster, sin un servicio aparte.
Caché para .NET
IDistributedCache
Usa Zaris como proveedor IDistributedCache de ASP.NET Core: tu código de caché no cambia, solo lo que hay detrás.
HybridCache
Un L1 en proceso sobre el L2 distribuido, con invalidación por etiquetas y protección contra estampidas: velocidad con consistencia.
Almacén de sesiones de ASP.NET Core
Mantén el estado de sesión de ASP.NET Core en Zaris con una sola llamada a AddZarisSession: cualquier instancia detrás de un balanceador de carga atiende la siguiente solicitud, y las sesiones sobreviven a los reinicios.
SessionState clásico de ASP.NET
Un SessionStateStoreProvider de System.Web directo para Web Forms / MVC clásico: traslada el estado de sesión fuera de la memoria en proceso o de SQL Server con un cambio en web.config.
Operaciones masivas y por lotes
PutMany/GetMany de alto rendimiento y lotes de operaciones mixtas que agrupan muchas claves en un solo viaje de ida y vuelta por propietario.
Distribución y disponibilidad
Particionado y replicación
Los datos se distribuyen entre nodos y se replican (RF2) con colocación automática: un primario y una réplica en nodos distintos.
Conmutación por error en vivo, sin pérdida de datos
Detén un nodo en pleno tráfico y sus réplicas se promueven al instante: el cliente nunca se detiene y no se pierde ninguna escritura confirmada.
Escalado elástico
Añade nodos mientras el clúster sirve: Zaris regenera el mapa de particiones y migra los datos automáticamente, sin tiempo de inactividad.
Distribución global
Georreplicación activo-activo por WAN
Ejecuta clústeres Zaris independientes en dos o más regiones y replica entre ellos mediante un feed de cambios reanudable. Cada sitio acepta escrituras localmente y sirve lecturas de baja latencia; no es un clúster extendido, por lo que cada región sobrevive a la pérdida total del enlace entre sitios y se reanuda desde su cursor duradero.
Resolución de conflictos determinista
Las escrituras concurrentes en distintos sitios convergen al mismo valor con last-writer-wins de reloj lógico híbrido, y los contadores usan un PN-counter para que los incrementos concurrentes nunca se pierdan, de modo que cada región acaba siendo consistente sin un coordinador de por medio.
Topología de replicación en vivo y RPO
Contadores site.* automáticos en ambas direcciones y un RPO reportado como la antigüedad de la operación sin aplicar más antigua, visualizado en la consola web como un mapa de replicación animado y en vivo con un panel de estado.
Seguridad
TLS mutuo
Cifra y autentica mutuamente cada conexión, con cuatro modelos de CA/confianza, desde autogenerado hasta CA propia.
Autenticación por token
Exige un token para conectar, entregado de forma segura desde una variable de entorno o un archivo, nunca en la cadena de conexión.
RBAC
Control de acceso basado en roles con denegación por defecto: concede exactamente las operaciones que cada identidad necesita, habilitado por almacén.
Operaciones y herramientas
Consola web
Crea, escala, protege y observa cada almacén desde un navegador: nodos, particiones, membresía y métricas en vivo.
Módulos de PowerShell
Herramientas de línea de comandos completas para espacios de trabajo, almacenes, escalado, seguridad y diagnóstico: programables de principio a fin.
Cadenas de conexión independientes de la plataforma
Una sola cadena de conexión llega a cada despliegue: hosts semilla separados por comas con conmutación por error automática y el nombre del almacén en la ruta.
Despliega en cualquier lugar
En proceso, Docker y Compose, Kubernetes (Helm) o un paquete de Windows: el mismo cliente y la misma cadena de conexión llegan a todos ellos.
Míralo en acción y luego ejecútalo tú mismo
Mira las demostraciones, lee la documentación o instala Zaris y conéctate en minutos.