Preguntas frecuentes
Respuestas breves a las preguntas que la gente hace cuando evalúa Clustron por primera vez. Cada una enlaza a la documentación más completa.
¿Qué es Clustron?
Clustron es una familia de bloques de construcción .NET componibles para sistemas distribuidos — clustering, autorización, métricas y un almacén clave-valor distribuido. Cada bloque es un paquete NuGet que incrustas en tu propia aplicación, sin ningún coordinador externo (ZooKeeper, etcd o Consul) que ejecutar. El producto insignia, Zaris, es lo que obtienes cuando las tres primitivas se componen en un solo almacén clave-valor distribuido. Consulta ¿Qué es Clustron?.
¿Necesito Redis, y cómo se compara Clustron?
No — Clustron Zaris es una alternativa a Redis para sistemas .NET, no una capa por encima de él. Redis es un servidor maduro y agnóstico del lenguaje que operas como infraestructura separada; Zaris es una biblioteca .NET incrustable que puedes ejecutar en proceso o como un clúster remoto, con primitivas de coordinación expuestas como API nativas de .NET. Elige Redis por alcance de lenguaje y un largo historial en producción; elige Zaris cuando tus servicios sean .NET y valores el desarrollo en proceso y la coordinación nativa. Consulta Clustron frente a Redis.
¿Cuándo debo usar el modo en proceso frente al distribuido?
Usa el modo en proceso cuando no quieras infraestructura — desarrollo local, pruebas unitarias y de integración, y aplicaciones de instancia única — ya que el almacén se ejecuta dentro de tu propio proceso y es la forma más rápida de empezar. Usa el modo distribuido cuando un solo proceso no sea suficiente: alta disponibilidad, compartir estado entre múltiples instancias, o escalar más allá de una máquina. La API es idéntica en ambos, de modo que desarrollas en proceso y despliegas distribuido sin cambiar el código de aplicación. Consulta Modos en proceso y distribuido.
¿Son fiables los locks y los leases?
Sí — están diseñados para ser seguros ante fallos, que es la parte difícil. Un lease es propiedad con límite de tiempo que expira automáticamente si su poseedor falla o pierde la red, y los locks de Zaris están respaldados por leases, de modo que un propietario muerto no puede bloquear a todos los demás. Una advertencia: bajo la replicación Async predeterminada, un failover puede perder escrituras que aún no se habían replicado, así que usa la replicación Sync cuando un failover no deba perder escrituras recientes. Consulta Leases y el modelo de coordinación.
¿Qué versiones de .NET se admiten?
Las abstracciones centrales del cliente tienen como objetivo netstandard2.0, de modo que los clientes ligeros se ejecutan tanto en .NET Framework 4.8 como en .NET 8+. Ejecutar un almacén en proceso requiere .NET 8 o posterior, y los adaptadores más ricos — como la integración con ASP.NET Core — tienen como objetivo net8.0. Consulta Ejecutar en proceso y los principios de diseño en ¿Qué es Clustron?.
¿Es seguro? ¿Admite TLS?
Sí. Zaris asegura un clúster con tres capas independientes que habilitas por separado: cifrado TLS en tránsito (tanto en el plano de datos como en el plano de control), autenticación por token verificada sin conexión y control de acceso basado en roles (RBAC), que deniega por defecto. Un clúster de desarrollo puede ejecutarse en texto plano con las tres desactivadas, y un clúster de producción normalmente ejecuta las tres activadas. Consulta la descripción general de seguridad.
¿Puedo ejecutarlo en Kubernetes?
Sí. Hay un chart Helm oficial que ejecuta los nodos como un StatefulSet con un Service sin cabeza en el modelo de despliegue attach: Kubernetes ejecuta los procesos de nodo mientras el manager de Zaris los observa y sirve el plano de control y la consola web. Los pares se descubren a partir de los ordinales de pod y DNS, de modo que escalar hacia fuera es un kubectl scale en caliente — sin editar un ConfigMap y sin reiniciar los pods existentes. Las actualizaciones progresivas son seguras — cada nodo expone sondas /livez y /readyz condicionadas a la convergencia, de modo que Kubernetes deja de enrutar a un pod antes de que drene, y un PodDisruptionBudget acota la disrupción voluntaria. Los clientes fuera del clúster se admiten a través de un listener externo con direcciones anunciadas, y TLS con certificados multi-SAN lo asegura. Todo esto se validó en un clúster en vivo.
La principal advertencia es que escalar hacia dentro aún no es seguro ante drenado — reduce de paso en paso y deja que la replicación restablezca el factor de replicación entre pasos. Consulta la guía de despliegue en Kubernetes — incluyendo escalado — y la descripción general de despliegue.
¿Cuál es la diferencia entre un servidor, un nodo y un almacén?
Un servidor es una máquina que ejecuta Zaris, identificada por su dirección de gestión (host:7801). Un nodo es un único proceso de almacén que un servidor ejecuta — uno por ranura de partición-réplica — y un servidor normalmente ejecuta varios nodos. Un almacén es la unidad lógica de datos que esos nodos presentan a los clientes. Un servidor puede alojar nodos de varios almacenes, y los nodos de un almacén pueden abarcar varios servidores. Consulta Servidor, Nodo y Almacén, o el Glosario.
¿Es Zaris gratuito? ¿Necesito una licencia para producción?
Zaris es gratuito para descargar y construir con él — el SDK de cliente, el modo en proceso, el plano de datos completo y las primitivas de coordinación, y la administración por PowerShell — y cada despliegue incluye tres meses de soporte. Ejecutar Zaris en producción requiere licencia, y el soporte continuado (SLA, acceso directo) tras los tres meses incluidos necesita un plan de soporte. En la práctica, lo único que cambia cuando termina la ventana de soporte es que la consola web se bloquea en una pantalla de licencia; el plano de datos, la replicación, el failover y la administración por PowerShell siguen funcionando, de modo que un clúster de producción sigue atendiendo. Establece ZARIS_SUPPORT_KEY (emitida con una licencia) para reactivar la consola, o ZARIS_SUPPORT_ACK_NONPROD=true para desarrollo. Consulta Soporte y licenciamiento y Planes de soporte.