Self-forming membership
Nodes discover and admit each other from a peer set, keep a live roster, and surface joins and leaves as events — reconciled by a gossip digest, with no registry service to stand up or operate.
A roster the whole cluster agrees on
Membership is not a service you call — it is state every member holds and keeps current together.
A peer set to start from
Each node begins with a set of peers — static from configuration, or dynamic as addresses become known. From there the members admit each other; there is no registry service to register with.
A live roster
Every member keeps a current view of who is in the cluster. That roster is what leader election, broadcast messaging and work distribution all read from.
Join & leave events
When a node joins or leaves, the change surfaces as a typed event you can react to — warm a cache, rebalance work, or update a dashboard — instead of polling for membership.
Gossip digest
A compact digest of the membership view rides existing heartbeat traffic, so members reconcile divergent views and converge on the same roster without a separate gossip storm.
From a peer set to a converged cluster
Reach out
A new node connects to peers from its peer set over the persistent transport.
Be admitted
The existing members add it to the roster and a join event fires across the cluster.
Re-coordinate
The members run the deterministic election again over the new roster; the epoch advances if leadership changes.
Converge
The gossip digest reconciles any divergent views so every member agrees on the same membership.
One less system to run
Discovery services are their own operational burden — another cluster to secure, upgrade and page someone about at 3am. Nodus folds membership into the members, so the only thing you deploy is your own service.
- No registry to register with, and none to lose
- Membership changes are events, not polls
- Divergent views self-reconcile through gossip
Fits how you already deploy
Give each node a fixed peer list when your topology is known up front, or feed it addresses as they become available in a more dynamic environment. Either way the cluster forms itself from those peers — the same code, whether you run three fixed instances or a fleet that grows and shrinks.
Build on a cluster that knows itself
Read how the roster stays accurate through crashes and restarts.