Saltar al contenido principal

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.

ProductoRol en una líneaFamilia de paquetesVersión¿Independiente?
ZarisAlmacén clave-valor distribuidoClustron.Zaris.*2.0.0Insignia — compone Nodus
NodusNúcleo de clustering y mensajeríaClustron.Nodus.*2.0.0Sí

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.

En una solicitud asegurada un cliente envía una operación y un token bearer por TLS a un nodo Zaris; la capa de seguridad la autoriza sin conexión, Nodus enruta a la partición propietaria y el motor de métricas registra la llamada, mientras Zaris la aplica al plano de datos y devuelve el resultado.

  • 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…UsaNo recurras a
Almacenar datos compartidos entre instancias, o una caché distribuidaZarisNodus solo (no es un almacén)
Elegir un líder / detectar fallos de nodos / enviar mensajes a paresNodusZaris (a menos que también necesites almacenamiento)
Un almacén distribuido que ya tiene seguridad + métricas conectadasZarisEnsamblar las piezas a mano
tip

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 objetivo net8.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.

Próximos pasos​