Session Affinity

Sticky Session은 임시 완충책이고 상태 분리는 장기 해법이다

사용자 상태를 서버 메모리에 묶으면 같은 사용자 요청을 같은 서버로 보내야 한다. 장애와 확장성을 생각하면 상태를 밖으로 빼는 편이 낫다.

sticky는 cookie나 source IP로 같은 대상에 붙인다.
서버가 죽으면 그 서버 메모리의 세션도 사라진다.
Redis 세션 또는 토큰 기반 인증은 서버를 더 쉽게 교체하게 해 준다.
Sticky LB cookie / IP hash 구현은 쉽지만 특정 서버로 부하가 몰릴 수 있다.
User A→ server-1
User B→ server-1
문제 서버 메모리 세션 서버 장애, 배포, scale-in 때 로그인 상태가 흔들린다.
server-1 downsession lost
new serverempty memory
해법 상태를 외부화 Redis 세션, DB 세션, JWT/opaque token으로 서버를 무상태에 가깝게 만든다.
Redisshared state
JWTexpiry/key rotation
Sticky 유지 조건 짧은 마이그레이션, 레거시 앱, 낮은 트래픽이면 타협안이 될 수 있다.
Redis 세션 중앙 저장소 운영, 만료, 장애 대응을 함께 설계한다.
JWT 무상태에 가깝지만 강제 폐기와 키 회전 전략이 필요하다.