A different platform for nano- and microservices
Nodes have an ID (here moon/planet names).
A node consists of a small fast-loading micro-kernel, which loads additional functions as plugins at startup. Even such important features as TCP or the transport layer are loaded as plugins, as well as services and applications. A list in the configuration contains all modules to be loaded. Therefore, the configuration alone determines which functions a node will possess and which tasks it will perform. Usually, when nodes are executed in containers, all containers are identical.
One node can load hundreds of plugins.
Deploying new microservices is simple and fast.
No need to set up a new server for each service.
One additional entry in the plugin list is sufficient.
Each piece of code can send messages in
But doesn't the address of the object have to be known everywhere, that means configured? No, there are transport layers on top of the object-to-object messaging. Registries for nano services and microservices are registered under a simple ID (e.g. "database statistics"). From now on it is sufficient if a message contains this ID as receiver. The system ensures that the owner object receives this message, regardless of whether the owner was installed on the same node or a distant one.
If multiple microservices are registered under the same ID, one instance is selected by the registry as the
The load balancing works without any additional software
A new microservice can be registered simply by function call or by message.
Within minutes, a new service is set up and can just as quickly be used by any code in the
- which are self-contained and complete
- that do not have dependencies such as shared interfaces
- which communicate with other modules only via messages
- that have a documented API
- that do not age but operate for decades
- which can be easily expanded due to their size and clarity
- which are considerably more cost-effective than libraries in monoliths for the reasons mentioned above.
An administrator can optimize a