문제점
세션 불일치 문제가 발생할 수 있습니다. 세션은 클라이언트가 아닌 서버에 정보를 저장하는 방식으로
만약 사용자가 처음 서버A에 도착하면, 세션은 A서버에 저장됩니다. 이후 같은 사용자의 또 다른 요청이 로드 밸런서에 의해 B서버에 도착한다면, 해당 서버에서는 사용자의 세션 데이터가 존재하지 않습니다.
해결 방법
1. 스티키 세션 방식
방법 : 사용자 요청이 항상 사용자 세션 정보가 저장된 서버로 가도록 고정하는 방식
장점 : 단순하다
단점 : 특정 서버에 트래픽이 집중 될 수 있다, 사용자의 세션 정보를 가진 서버가 다운되면 사용자는 재로그인 등의 문제가 생김
2. 세션 클러스터링 방식
방법 : 특정 서버에 사용자 세션 정보가 생성될때, 다른 서버로 정보가 복제되는 방식
장점 : 트래픽 몰림 현상과 세션 정보 유실 문제를 해결
단점 : 메모리 비효율적, 복제 과정에서 네트워크 트래픽 문제 등
3. 스토리지 분리 방식
방법 : 세션 정보를 저장하는 공간을 외부로 분리하는 방식
장점 : 스티키 세션, 세션 클러스터링 방식의 단점 모두 해결
단점 : 스토리지에 대한 단일 장애 지점, 외부 스토리지 관리를 위한 추가적인 리소스 요구
'cs(with 매일메일)' 카테고리의 다른 글
| [251106목] 동시성과 병렬성에 대해서 설명해주세요 (0) | 2025.11.06 |
|---|---|
| [251105수] 로드 밸런싱에 대해서 설명해주세요 (0) | 2025.11.05 |
| [251103월] SOLID원칙에 대해서 설명해주세요 (0) | 2025.11.03 |
| [251031금] DB Replication에 대해서 설명해주세요 (0) | 2025.11.03 |
| [251030목] Record를 DTO로 사용하는 이유가 뭔가요? (0) | 2025.10.30 |