Node.js Operators and OS Processes
Every Node.js operator runs in its own operating system process. This makes it possible to utilize multi-core CPUs and parallel system architectures from Node.js, which would otherwise not be possible, because Node.js works single-threaded. In addition, this provides a strict isolation between Node.js operators for enhanced security.
The Node.js processes communicate by TCP socket based inter-process communication (IPC), which is coordinated by the Node.js subengine. In turn, the Node.js subengine runs in its own process. There is one coordinating Node.js subengine process per subgraph consisting of pure Node.js operators.
Example
A subgraph may consist of 10 Node.js operators. 3 of them are multiplexer. The
multiplexer are configured to run in subengine 'com.sap.node'. The number of
operating system process for this scenario computes as
follows:
1 (Node.js Subengine) + 10 (Node.js operators) - 3 (Node.js Multiplexer) = 8 operating system processes.
