Guaranteed broadcasting messages in distributed system using Node.js

229 Views Asked by At

I have a distributed application written in Node.js and want to broadcast messages to all of the nodes. What I need is:

  • Guaranteed delivery (at least once)
  • Horizontal scalability
  • Completely dezentralized architecture

So far, I have taken a look at the various modules for Node.js such as Scuttlebutt, node-gossip & all of its variants. But they all fail with respect to guaranteed delivery.

I also have taken a look at Serf and Consul: While the first failed with the guaranteed delivery, the second only works if at least (n/2)+1 nodes are reachable, which is too weak for my application.

I have also taken a look at various message queues, message distribution systems and protocols such as RabbitMQ, nsq and MQTT. They all fail for one or more of the above mentioned things.

Any idea how I could solve this (without having to go write my own one)?

PS: I know that this is basically a question for an advice for a module or a tool, but I don't know where else to ask, and I think that the intention is a perfectly valid one for any developer working on distributed applications.

0

There are 0 best solutions below