I'm trying to compare Phoenix Channels with the new Rails ActionCable when it comes to working with WebSockets.
For some context, ActionCable uses Redis to handle PubSub when broadcasting a message to all clients. Example scenario: 1 of 3 rails processes on a separate node will be able to broadcast to clients connected on all web servers. This is done by hitting Redis which in turn publishes to all rails servers who then push to all their connected clients.
I recently read about the 2 million websocket connections achieved by Phoenix websocket connections.
Also found this gem: The Phoenix 1.0 release notes mention this regarding channels:
Even on a cluster of machines, your messages are broadcasted across the nodes automatically
How is Phoenix able to broadcast to clients across nodes? Is it using mailboxes and/or some other interprocess communication under the hood?
This is similar to question 2) in this post.
Thanks!