Load Balancing Node-Red

I know this topic has been discussed, I have searched and read a lot on the subject. I wanted to get a best practice from collective before we go down any particular route

Currently we have node-red running in a private cloud in Kubernetes (microk8s) and we have a persistent volume that holds the settings, flow json and creds. Pod goes down, it simple comes back up and uses the same files.

We're in the process of moving all our containers into AWS EKS, we would like to start introducing replica sets, and have at least 3 node-red pods running.

Load Balancing Best Practice:

  • Traditional Kubernetes load balancing schemes for HTTP services

Introduce queuing?

  • AWS Simple Queuing Service
  • Apache Kafka

Flat File Handling Best Practice:
Keeping the flat files in one persistent volume isn't going to work, we will run into race conditions writing to the file.

  • Use custom plugin and read & write all 3 pod instances to Redis?
  • Store Flat files in GitLab and have then pulled and pushed using node red api?
  • any other option?

There are challenges like global & flow context but we could store and load then externally through a plugin

I know there is a lot of questions in here and we can dedicate the time to a solution, we just would like to know the best direction.
I would have thought someone in the community must have load balanced before.
Thank In Advanced

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.