Node Red at enterprise level

In our case, we have a prescriptive development patterns that the devs must follow.

The patterns talk about best practices to structure a flow, and prescribe the use of some nodes to be placed within the flow that manage how data, errors and metadata are handled across flow runs. Somewhat of a lineage. Unfortunately, I cant share the exact details here.

The patterns also prescribe the use of git via NR projects. We had to write a custom git json merge driver to resolve git conflicts for flow.json

I havn't seen any performance issues in our flows if we size the containers appropriately. Would be keen to know what you have faced so far.

We just beginning to use NR for our product. We intend on giving the opportunity to non-developers to adjust product business rules and logic. Our BRs include only assertions and checks against static data so it will be quite limited.

For this we also intend to prescribe what is allowed and what not and also we intend on removing access to nodes that may impede performance. Now with regards to conflicts we intend to resolve them at git level as it will not require to write any custom things and quite frankly git is the best tool to do so.

Finally regarding performance and taking into account that we are using simple rules (no db lookups, network accesses etc) we expect to have 500 rule runs per second. Using our Ecs clusters with 2 c5.large nodes on AWS we stress tested with JMeter/Taurus and Apache ab and got less than 1 seconds overall which for us is good enough. We also saw that with larger nodes we get even better numbers.

3 Likes

Update: We have had very good results with NR performance optimization and execution specifically for business rules (8000 x 50 rule executions in less than 2 seconds with 12 load-balanced NR workers). When we get some time we'll post an article in our tech blog on how we did it and I'll post the link here.

11 Likes

Would love you understand the engineering details!

that would be great - look forward to reading your article.