La familia Clustron
Clustron son dos productos, no uno. Este artículo mapea la familia: qué es cada producto, qué problema le pertenece, cómo se componen y cómo elegir el que necesitas.
De un vistazo
Cada producto se versiona de forma independiente, y cada uno resuelve un problema distinto. Zaris es el insignia que compone Nodus y añade por encima seguridad y métricas.
| Producto | Rol en una línea | Familia de paquetes | Versión | ¿Independiente? |
|---|---|---|---|---|
| Zaris | Almacén clave-valor distribuido | Clustron.Zaris.* | 2.0.0 | Insignia — compone Nodus |
| Nodus | Núcleo de clustering y mensajería | Clustron.Nodus.* | 2.0.0 | Sí |
Zaris fija la versión exacta de Nodus contra la que fue construido y probado, de modo que consumes un conjunto coherente en lugar de reconciliar tú mismo las piezas móviles.
Qué posee cada producto
Los dos productos dividen el espacio de problemas de los sistemas distribuidos de forma limpia. Cada sección plantea la pregunta que responde ese producto.
Nodus — "¿quién está en el clúster y quién está al mando?"
Nodus es un núcleo ligero de clustering y mensajería. Un proceso que lo referencia puede:
- Unirse a un clúster entre pares desde un conjunto de pares estático o suministrado dinámicamente, con la incorporación y salida expuestas como eventos.
- Elegir un líder con estrategias estilo bully conectables (id más alto, nodo más antiguo), un contador de épocas y un criterio de desempate suministrado por la aplicación.
- Enviar mensajes tipados punto a punto o en todo el clúster, incluyendo solicitud/respuesta, sobre TCP canalizado con MessagePack en el cable.
- Publicar y suscribirse a eventos de todo el clúster en un bus tipado que es distinto de la mensajería directa.
- Detectar fallos mediante monitoreo de heartbeat, alcanzabilidad por par y una ventana de sospecha antes del desalojo.
- Aprovechar un resumen de gossip sobre el tráfico de heartbeat sin ejecutar un segundo protocolo.
Reemplaza el papel que desempeñaría ZooKeeper, etcd o Consul — pero como una biblioteca en proceso, sin nada externo que ejecutar.
Zaris — "¿dónde vive el estado compartido?"
Zaris es el almacén clave-valor distribuido que compone el clustering en un producto que ejecutas, con seguridad y métricas integradas:
- Plano de datos: almacenamiento clave-valor particionado, replicado y en memoria con transacciones, watches, leases, locks distribuidos, contadores atómicos y TTL.
- Plano de control: un servicio de gestión y una consola web para crear almacenes, colocar y escalar nodos, y observar el clúster.
- El clustering viene de Nodus. La seguridad está integrada — TLS mutuo, tokens bearer verificados sin conexión y control de acceso basado en roles (RBAC) que deniega por defecto. La observabilidad está integrada — métricas deslizantes por segundo registradas de forma barata en la ruta crítica y exportadas por OTLP.
- Dos formas de ejecutar: en proceso (incrustado, cero servidores — ideal para desarrollo y pruebas) o remoto (un clúster real de múltiples nodos).
La composición, en concreto
Cuando ejecutas un clúster Zaris asegurado, el diagrama muestra lo que ocurre en una sola solicitud.
- Nodus decidió qué nodo posee la clave y mantuvo actualizadas la membresía y el liderazgo del clúster por debajo de todo ello.
- La capa de seguridad decidió si quien llamaba estaba autorizado, sin un salto de red.
- El motor de métricas registró que ocurrió, de forma barata, en la ruta crítica.
- Zaris lo unió todo y devolvió el resultado.
Nodus es útil de forma independiente por sí solo — Zaris es simplemente el lugar donde el clustering, la seguridad y las métricas ya están conectados entre sí y endurecidos.
Cómo elegir
Elige según el problema que realmente tienes.
| Si necesitas… | Usa | No recurras a |
|---|---|---|
| Almacenar datos compartidos entre instancias, o una caché distribuida | Zaris | Nodus solo (no es un almacén) |
| Elegir un líder / detectar fallos de nodos / enviar mensajes a pares | Nodus | Zaris (a menos que también necesites almacenamiento) |
| Un almacén distribuido que ya tiene seguridad + métricas conectadas | Zaris | Ensamblar las piezas a mano |
Una regla práctica útil: si tu necesidad menciona "datos" o "caché", empieza en Zaris; de lo contrario, empieza en Nodus. Siempre puedes añadir el otro más tarde — ese es el sentido de la familia.
Licenciamiento y compatibilidad
La familia comparte un conjunto de plataformas objetivo y reglas de versionado.
- Objetivos: las bibliotecas centrales de cada producto tienen como objetivo
netstandard2.0, por lo que se ejecutan en .NET Framework 4.8 y .NET 8+. Los adaptadores, hosts y exportadores tienen como objetivonet8.0. - Cable y serialización: Nodus usa TCP canalizado con MessagePack; Zaris usa su propio protocolo binario de plano de datos con garantías de compatibilidad de cable entre versiones.
- Versionado independiente: cada producto se publica a su propia cadencia. Cuando consumes Zaris, su paquete fija la versión probada de Nodus, de modo que consumes un conjunto coherente en lugar de piezas móviles.