Nodes

A node is a small Java runtime that participates in the nyssr.net network. Its microkernel is roughly 1.2 MByte and contains the messaging core, timers, threads, namespaces, and logging. Networking and other capabilities are loaded as plugins when the node starts.
One runtime, many roles
Nodes are normally built from the same kernel and configured through their plugin list. The same container can therefore take different roles:
- a registry or coordination node
- a node hosting application services
- a node connected to local databases or machines
- a client or development node
The role is not hardcoded into the container. Plugins provide the capabilities.
Distribute services as needed
A small installation can run all its services on one node. As workload or geography changes, services can be distributed across additional nodes. The services are designed so that clients do not need to know which node currently hosts them.
This separation makes it possible to scale selected services instead of duplicating an entire application.
Key idea: Nodes can remain identical while their plugins and service distribution determine what they do.
A small dependency footprint
The microkernel is deliberately independent of large third-party frameworks so it can also be embedded in ordinary Java client and server programs. The documented third-party dependencies are small:
| Library | Vendor | Size |
|---|---|---|
| annotations | JetBrains | 19 KBytes |
| json-simple | 24 KBytes |
Together they add just over 40 KBytes. The small footprint and asynchronous startup also allow a central node with registries and TCP servers to start in approximately 200 ms.
In practice
- Start with the kernel and a plugin list
- Add only the capabilities the node requires
- Register or start services through the node
- Add more nodes when capacity, locality, or resilience requires it
Related Pages
Plugins
Documentation for nyssr.net plugins, covering the core IPlugIn interface, the plugin concept for user code, and an overview of all supplied plugins in the distributed system.
The use of plugins
Learn how to use plugins for nyssr.net. This tutorial explains the JAR Manifest, the IPlugIn interface, and the ServiceStarter mechanism for modular node services.
How new software is installed on a node remotely
earn how to remotely install new software or update plugin configurations on a nyssr.net node using a JSON control file via the Net Software Updater plugin.
Introduction to nyssr.net
A brief, high-level introduction to the fundamental structure and function of the nyssr.net distributed system, covering core concepts like Nodes, Messages, and Namespaces.
Segments
A group of nodes is called a segment. The communication of nodes across segment boundaries has not yet been conclusively defined.
Messages
NYSSR Messages are asynchronous, object-to-object communications forming the basis of all network patterns. They are bi-directional with an answer handshake, ensuring reliable, high-performance delive