Modeling Guide for SAP Data Hub

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.