100% Asynchronous Design for Maximum Performance and Resource Use
- CPU
-
nyssr.net nodes use many threads. Microservices and applications are usually executed in their own namespaces and therefore have their own thread. The use of CPUs with multiple cores is therefore ideal. These can be fully utilized under high load. -
However, this does not mean that this is a prerequisite for using
nyssr.net . Nodes also run on cloud processors with only one core. The smallestnyssr.net installation therefore consists of one node on a processor with one core. - Stack depth
-
The stack depth of
nyssr.net applications and services is very small. This is due to the fact that we are usually in a message handler that is fed with a message by the system. As a result, the memory consumption is also quite small, despite the heavy use of threads. - Resources
-
nyssr.net requires very little memory. Even a node with hundreds of services can manage with a standard VM. This is because services require neither parsers nor their own web servers. Everything is handled - asynchronously - by the system. - Our services are usually only a few KBytes in size. And so are instances of applications and factories. Instances are usually individual targets, i.e. Java classes that can receive messages. These communicate with various other services until a complex task has been completed and are then terminated again. Most instances therefore consist of a single Java class.
- Code
-
All the user code is just a reaction to some message.
The Java code therefore looks similar everywhere. It largely consists of message handlers. This makes the code easy to read and also easy to understand. - Training
-
We realize that most developers are used to writing synchronous code.
Therefore, we have made sure that
nyssr.net developers do not have to deal with the technical aspects of being asynchronous. It's always about sending messages and reacting to messages. This makes familiarization very easy. It works like talking: One person says something, another person responds. - New employees learn to code very quickly and become productive immediately.
- Teams
-
Small teams work independently of other teams - i.e. also asynchronously.
You do not need build pipelines for microservices of
nyssr.net . Microservices can be deployed independently. That leaves more time for actual creativity.