Subflow Synchronization

I run different projects on different servers. Many of them have common subflows. If I make an upgrade to a subflow, I manually change the version, and then export/import in ~15 other Node-RED instances.

Sometimes I don't do this process everywhere, and I always check on the manually set version, to see if there's a newer version somewhere. Sometimes I "upgrade" a subflow in one server, but forget about it, and upgrade a lower version on a different server, creating a complicated to investigate and solve desync.

This obviously got a bit out of hand in time and today I decided to ask about Subflow Synchronization.

I've noticed the question was asked in 2019, but maybe meanwhile there is a way.

If there isn't a way to do this yet, I'll create some hacky way and share it here.

The sensible thing to do since you already have a network of node-red instances would be to add another instance and use a flow instead of a subflow. Connected via websockets or some other connection such as tcp, udp or http. In other words convert the sub-flow to an API service.

Please don't take my counter-argument as a rude rejection of solutions, I intend it only as a polite discussion on the topic.

I do use this method in some cases but it creates a lot of network pressure on the "main" server and causes lag on very heavy use situations.

For example:

Everything there except for the marked nodes is a subflow. On every step it would switch to another server and back.

An average msg is ~10kb.
There are an average of ~30 messages per second travelling through a server.

So this is a nice solution but, with some exceptions, I don't want to server hop. Different projects must be (in my case) mostly independent without a single point of failure. Lag on the main server means lag on everything.

Also most of my subflows rely on local global or environment values which can not be checked on a different server.