Distributed Node RED


I am working on a project using distributed node red, and I am wondering about multiple points. Suppose that we have a distributed flow on several devices on the network, each device (node) has a Node RED instance installed on it. So the devices are supposed to exchange information (traffic) between each others to achieve the functionality of the designed logic (distributed flow). After deploying the distributed flow, everything was working as I expected. But I am wondering:

  1. Is the communication between devices done over mqtt protocol? (Just notice that I didn't use anything related to mqtt in my project)

  2. If the answer of the above question is yes, the Broker should be in the machine running DNR editor?

  3. Suppose the communication is done over mqtt protocol and there is a Broker somewhere, so it will receive all messages from publisher clients, filter them, and send them to the subscribed clients. How much is that scalable? So if we have a distributed flow over several devices generating a lot of traffic, would it be still working? If no, is there any alternative solution?

Hope all my questions were clear.

Thank you in advance!

Only if you set it up that way. You can also use, websockets, raw TCP or UDP.

Doesn't really matter as long as it is accessible to all and runs on a reliable device with decent network. Alternatively, you could run a broker on each machine and either write to all of them at the same time or configure the brokers to forward messages appropriately - both a more complex arrangement of course. Depends whether you need the resilience or not.

So according to what I have understood, in my case the communication is not done over mqtt protocol (since it is not set up in that way). I have checked the traffic in the network via Wireshark and it was TCP (Giving notice that I didn't configure any websocket, I have just designed the flows and connected nodes to the network)

Accordingly, does the assumption that we have a Broker in the network still true even if the communication is not done over mqtt? (Forgive me if it is a silly question because I am a beginner in this domain)

I have followed the setup done in this github page:

There is nothing mentioned about the traffic and the Brokers except in the figure. So, does there any available document that clarifies how the traffic is treated (Directly between distributed nodes or via a Broker?)

Well, it looks like TCP is being used I think but not clear. You might raise a question as a github issue?

Unless the authors of DNR take part in this forum, I don't know how much we can help.

1 Like

The page you linked to also includes a section in where to go for support…

1 Like