Horizontal Scale

로드 밸런싱 stateless 조건

Node cluster, Docker replicas, reverse proxy, cloud load balancer를 쓰기 전 세션, 파일, WebSocket, background job의 상태 위치를 점검합니다.

Stateless

상태 분리

세션은 Redis, 파일은 object storage, job 상태는 queue로 옮겨 인스턴스 교체를 쉽게 합니다.

Replica

프로세스 확장

cluster나 PM2는 CPU core 활용, Docker replica는 배포 단위 확장에 적합합니다.

Balance

트래픽 분산

Nginx, ALB, ingress가 헬스 체크를 기준으로 살아 있는 인스턴스에만 보냅니다.

Realtime

연결 유지

WebSocket은 sticky session이나 shared pub/sub 없이 인스턴스 간 이벤트가 끊길 수 있습니다.