Challenge 2: Trace the Cross-Server Flow — Possible Solution ==================================================================== 1. Client A sends a chat message over its WebSocket connection — but that connection only reaches SERVER A, since a WebSocket connection is tied to one specific server process. 2. Server A does two things: it relays the message to any of its OWN locally-connected WebSocket clients (if any are in the same room), and it PUBLISHes the message to a shared Redis channel that every server instance subscribes to. 3. Redis delivers that published message to every current subscriber of that channel — which includes SERVER B, because Server B subscribed to the same channel when it started up. Server A and Server B never communicate with each other directly at all; Redis is the only thing connecting them. 4. Server B receives the message FROM REDIS (not from Server A directly) and relays it over its own local WebSocket connections — reaching Client B, who was never connected to Server A and has no direct relationship with it whatsoever. THE KEY INSIGHT: Server A and Server B don't need to know about each other's existence, their network addresses, or how many other servers exist at all — they only need to agree on which Redis channel to use. Redis pub/sub is what makes an arbitrary number of otherwise-isolated server instances behave as one logical system to connected clients.