본문 바로가기

cs(with 매일메일)

[251104화] 다중 서버 환경에서 세션 기반 인증 방식을 사용하는 경우 발생할 수 있는 문제점은 무엇인가요?

문제점

세션 불일치 문제가 발생할 수 있습니다. 세션은 클라이언트가 아닌 서버에 정보를 저장하는 방식으로

만약 사용자가 처음 서버A에 도착하면, 세션은 A서버에 저장됩니다. 이후 같은 사용자의 또 다른 요청이 로드 밸런서에 의해 B서버에 도착한다면, 해당 서버에서는 사용자의 세션 데이터가 존재하지 않습니다. 

 

 

해결 방법

1. 스티키 세션 방식

방법 : 사용자 요청이 항상 사용자 세션 정보가 저장된 서버로 가도록 고정하는 방식

장점 : 단순하다

단점 : 특정 서버에 트래픽이 집중 될 수 있다, 사용자의 세션 정보를 가진 서버가 다운되면 사용자는 재로그인 등의 문제가 생김

 

2. 세션 클러스터링 방식

방법 : 특정 서버에 사용자 세션 정보가 생성될때, 다른 서버로 정보가 복제되는 방식

장점 : 트래픽 몰림 현상과 세션 정보 유실 문제를 해결

단점 : 메모리 비효율적, 복제 과정에서 네트워크 트래픽 문제 등

 

3. 스토리지 분리 방식

방법 : 세션 정보를 저장하는 공간을 외부로 분리하는 방식

장점 : 스티키 세션, 세션 클러스터링 방식의 단점 모두 해결

단점 : 스토리지에 대한 단일 장애 지점, 외부 스토리지 관리를 위한 추가적인 리소스 요구