Saltar al contenido principal
Integración

Una biblioteca que incorporas, no un servidor que ejecutas

Nodus es un paquete .NET que se ejecuta dentro de tu proceso. Añádelo, describe el clúster, inicia el nodo — y tu servicio podrá enviar mensajes a los pares, esperar respuestas tipadas, suscribirse a eventos del clúster y ejecutar singletons solo en el líder, sin nada extra que desplegar.

Cómo entrar

Cuatro pasos hasta un miembro en ejecución

Añade el paquete

Referencia el cliente de Nodus — es un paquete NuGet que incorporas, dirigido a .NET moderno. Sin sidecar, sin servidor que instalar.

Describe el clúster

Da a cada proceso una configuración con su conjunto de pares y su propia identidad de nodo. La misma forma de configuración escala desde tres nodos fijos hasta una flota dinámica.

Inicia el nodo

Un único punto de entrada construye el contenedor, se une al clúster y devuelve un identificador en ejecución que liberas al apagar para una salida limpia.

Usa el clúster

Envía mensajes a los pares, espera respuestas, suscríbete a eventos y condiciona los singletons al liderazgo — desde dentro de tu propio proceso.

En tu código

Únete a un clúster, sigue al líder

Un único punto de entrada construye el nodo, se une al clúster y devuelve un identificador en ejecución. Suscríbete al liderazgo y condiciona el trabajo singleton al nodo que lidera — el resto es tu aplicación.

Leer la guía del desarrollador →
Nodus example
using Clustron.Nodus.Abstractions;
using Clustron.Nodus.Client;

// this process's slice of the cluster, resolved from a launch input
var self = config.Cluster.Nodes.Single(n => n.NodeId == myId);

await using INodusNode node = await NodusNode
.Configure(config)
.WithNodeIdentity(self)
.StartAsync();

// react the moment the cluster agrees on a coordinator
node.Leadership.Changed += (leader, epoch) =>
Console.WriteLine($"leader is now {leader.NodeId} (epoch {epoch})");

// run the singleton only where we lead
if (node.Leadership.IsSelf)
await RunTheSingletonJob();
Lo que obtienes

Toda la superficie de coordinación

Membresía, liderazgo, mensajería y eventos — todo accesible desde el único identificador incorporado.

Mensajería punto a punto

Dirígete a un par específico y envíale una carga tipada — trabajo por hacer, estado por compartir — sobre el transporte persistente y priorizado.

Solicitud / respuesta

Haz una pregunta a un nodo y espera una respuesta tipada, emparejada por correlation id, con un tiempo de espera que tú controlas.

Difusión

Envía un mensaje tipado a todos los miembros a la vez — una invalidación de caché, un cambio de configuración, una distribución de trabajo.

Eventos del clúster

Un bus de publicación/suscripción tipado, distinto de la mensajería directa, que propaga eventos de ciclo de vida y personalizados a todos los miembros.

Ganchos de liderazgo

Suscríbete a los cambios de liderazgo y condiciona el trabajo singleton a IsSelf para que exactamente una instancia lo ejecute, con traspaso automático ante un fallo.

Salud y membresía

Lee la lista de miembros en vivo y la salud por par para dirigir el enrutamiento, el rebalanceo o un panel — todo desde la API incorporada.

Probado en producción

El núcleo sobre el que se agrupa Zaris

Nodus no es una demostración — es el núcleo de clustering bajo Clustron Zaris, el almacén clave-valor distribuido. La misma membresía, elección de líder y mensajería que forman un clúster de Zaris son la API que obtienes cuando incorporas Nodus directamente.

  • Probado en condiciones reales por el plano de datos de un almacén distribuido real
  • La misma ruta de código, ya sea que ejecutes tres nodos o una flota
  • En proceso para desarrollo y pruebas, en clúster en producción
Despliega en cualquier lugar

Se ejecuta donde se ejecuta tu servicio

Al ser una biblioteca, Nodus va a dondequiera que vaya tu proceso — un contenedor, un pod de Kubernetes, un servicio de Windows, una VM en la nube. No hay un clúster de coordinación aparte que ubicar, proteger o escalar junto a él.

Agrupa tu servicio hoy

Añade el paquete, inicia un nodo y observa cómo los miembros acuerdan un líder.