Description
When we send a message we are now calling engine#publish which does a publish to all connected nodes. When you cluster is growing in size (nodes) this will create a lot of pointless overhead because node's that doesn't have user connected will also receive this message.
Possible solutions
- When a user connects to a RED node, we are going to store the
hostname and process id and put that in Redis. So when we need to send a message to that user, we can fetch the sessions connected nodes and only broadcast to those. This probably also requires the engine to listen to another for dedicated messaging`
Description
When we send a message we are now calling
engine#publishwhich does a publish to all connected nodes. When you cluster is growing in size (nodes) this will create a lot of pointless overhead because node's that doesn't have user connected will also receive this message.Possible solutions
hostnameandprocess idand put that in Redis. So when we need to send a message to that user, we can fetch the sessions connected nodes and only broadcast to those. This probably also requires theengineto listen to another for dedicated messaging`