[HN Gopher] Socketcluster: Highly scalable pub/sub and RPC SDK
___________________________________________________________________
Socketcluster: Highly scalable pub/sub and RPC SDK
Author : ofrzeta
Score : 19 points
Date : 2025-04-14 15:45 UTC (7 hours ago)
(HTM) web link (socketcluster.io)
(TXT) w3m dump (socketcluster.io)
| rbranson wrote:
| architecture docs are scant, but it appears this horizontally
| scales channels by adding "broker" instances and horizontally
| scales consumers by adding "worker" instances? i.e. a broker only
| needs to ever broadcast a message to the maximum number of worker
| instances in the cluster.
| cultofmetatron wrote:
| elixir has an even better offering baked into phoenix. unlike
| node which is limited to 1 process and necessitating a complex
| IPC cluster, erlang's vm can use all cpus on the host as well as
| connect different machines. The end result is a much more robust
| websocket solution that can relay state to whichever machine
| resumes the connection.
| ofrzeta wrote:
| Are you talking about channels or some other concept?
| https://hexdocs.pm/phoenix/channels.html
| R4tY9jQ2 wrote:
| SocketCluster's approach to horizontal scaling with pub/sub
| channels and rooms is elegant. The support for both HTTP and
| WebSockets through the same port simplifies deployment, and the
| circuit breaker pattern is a smart choice for resilience.
| Impressive that it's maintained for 10+ years.
| a3FgH9Lp wrote:
| SocketCluster's approach to real-time communication with pub/sub,
| horizontal scaling and automatic recovery seems solid. Their
| focus on simplicity while handling complex distributed systems is
| impressive. I wonder how their performance compares to Socket.IO
| or Centrifugo in high-load production environments.
| jitl wrote:
| What's the big idea? After scrolling and clicking I'm not sure
| what this gets me. What's the durability guarantee? Is this at-
| least-once, at-most-once, or thoughts-and-prayers message
| delivery? What happens when a node crashes?
___________________________________________________________________
(page generated 2025-04-14 23:01 UTC)