Stateless HTTP 는 서버 추가로 scale; WebSocket 은 안
HTTP API 는 동일 서버를 round-robin LB 뒤에 추가해서 scale; 모든 request 가 자기 handler 안에 완전히 살아. WebSocket connection 은 persistent — 서버 추가가 새 connection 용량 추가하지만 다른 서버의 connection 사이 message bridge 안 함. Cross-server fan-out 위해 message bus 필요.
Redis Pub/Sub 이 표준 답
Track 4 가 도입. Production 에선 모든 WebSocket 서버가 outbound message Redis 에 publish + 받으려 subscribe; 각 서버에서 local fan-out. 서버 자유 추가; 용량 linearly scale, Redis 자체가 bottleneck 될 때까지 (매우 큰 scale; 그땐 Redis Cluster 또는 Kafka).
Socket.IO 가 adapter 동봉
Socket.IO 쓰면 scaling 한 줄: client_manager=socketio.AsyncRedisManager(...). 모든 sio.emit() 이 자동으로 모든 서버 사이 bridge. pub/sub 코드 0 줄.