Aller au contenu principal
Intégration

Une bibliothèque que vous embarquez, pas un serveur que vous exploitez

Nodus est un package .NET qui s'exécute à l'intérieur de votre processus. Ajoutez-le, décrivez le cluster, démarrez le nœud — et votre service peut envoyer des messages aux pairs, attendre des réponses typées, s'abonner aux événements du cluster et exécuter des singletons réservés au leader, sans rien de plus à déployer.

Pour commencer

Quatre étapes vers un membre en fonctionnement

Ajoutez le package

Référencez le client Nodus — c'est un package NuGet que vous embarquez, ciblant les versions modernes de .NET. Aucun sidecar, aucun serveur à installer.

Décrivez le cluster

Donnez à chaque processus une configuration avec son ensemble de pairs et sa propre identité de nœud. La même forme de configuration passe de trois nœuds fixes à une flotte dynamique.

Démarrez le nœud

Un seul point d'entrée construit le conteneur, rejoint le cluster et renvoie un handle en cours d'exécution que vous libérez à l'arrêt pour un départ propre.

Utilisez le cluster

Envoyez des messages aux pairs, attendez des réponses, abonnez-vous aux événements et conditionnez les singletons au leadership — depuis l'intérieur de votre propre processus.

Dans votre code

Rejoignez un cluster, suivez le leader

Un seul point d'entrée construit le nœud, rejoint le cluster et renvoie un handle en cours d'exécution. Abonnez-vous au leadership et conditionnez le travail singleton au nœud qui mène — le reste, c'est votre application.

Lire le guide du développeur →
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();
Ce que vous obtenez

Toute la surface de coordination

Appartenance, leadership, messagerie et événements — tous accessibles depuis l'unique handle embarqué.

Messagerie point à point

Adressez un pair spécifique et envoyez-lui une charge utile typée — du travail à faire, un état à partager — sur le transport persistant et priorisé.

Requête / réponse

Posez une question à un nœud et attendez une réponse typée, appariée par identifiant de corrélation, avec un timeout que vous contrôlez.

Diffusion

Envoyez un message typé à tous les membres à la fois — une invalidation de cache, un changement de configuration, une répartition de travail.

Événements du cluster

Un bus de publication/abonnement typé, distinct de la messagerie directe, qui propage les événements de cycle de vie et personnalisés à tous les membres.

Hooks de leadership

Abonnez-vous aux changements de leadership et conditionnez le travail singleton à IsSelf pour qu'exactement une instance l'exécute, avec reprise automatique en cas de panne.

Santé et appartenance

Lisez le registre vivant et la santé par pair pour piloter le routage, le rééquilibrage ou un tableau de bord — le tout depuis l'API embarquée.

Éprouvé en production

Le cœur sur lequel Zaris se regroupe en cluster

Nodus n'est pas une démo — c'est le cœur de clustering sous Clustron Zaris, le store clé-valeur distribué. La même appartenance, la même élection de leader et la même messagerie qui forment un cluster Zaris sont l'API que vous obtenez en embarquant Nodus directement.

  • Éprouvé sur le terrain par le plan de données d'un véritable store distribué
  • Le même chemin de code, que vous exploitiez trois nœuds ou une flotte
  • En mémoire pour le développement et les tests, en cluster en production
Déployez partout

S'exécute là où votre service s'exécute

Parce que c'est une bibliothèque, Nodus va partout où va votre processus — un conteneur, un pod Kubernetes, un service Windows, une VM cloud. Il n'y a aucun cluster de coordination séparé à placer, sécuriser ou faire monter en charge à ses côtés.

Regroupez votre service en cluster dès aujourd'hui

Ajoutez le package, démarrez un nœud et regardez les membres s'accorder sur un leader.