I'm wondering what happens if data arrival rate is > than the rate in the limit node in NodeRED?
a) Is there back-pressure in place? IMHO since all is based on Node.JS model it should.
(...and therefore)
b) Will heap-size just blow up?
c) Or are messages thrown away?
The delay node has options to control how it handles messages above the input rate.
It can be configured to drop all intermediate messages by ticking the check box, if ticked it will take the next available message after the wait period and drop all others.
If you don't drop the messages then it will queue them and release them at the configured rate. The node status text will be updated to show how many messages are queued.
If you continue to push messages quicker than the output then you will eventually run out of memory and Node-RED will crash.
There is no back pressure applied.
You can find the implementation here