세션을 저장하는 3가지 방법

애플리케이션을 재실행하면 로그인이 풀립니다. 세션이 내장톰캣의 메모리에 저장되기 때문입니다. 기본적으로 세션은 WAS에 저장이 되고 호출됩니다.

애플리케이션 실행 시 항상 초기화가 되고, 2대 이상의 서버에서 서비스시 톰캣마다 세션 동기화 설정을 해야만 합니다.

톰캣 세션을 이용하는 방법

  1. 2대 이상의 WAS가 구동되는 환경에선 톰캣들 간의 세션 공유를 위한 설정이 필요합니다.

DB를 세션 저장소로 이용하는 방법

  1. 로그인 요청마다 DB I/O가 발생해 성능상 이슈가 발생할 수 있습니다.
  2. 백오피스, 사내 시스템에서 주로 사용됩니다.

Redis, Memcached 같은 메모리DB를 세션 저장소로 이용하는 방법

  1. B2C에서 많이 사용하는 방법입니다.
  2. 실제 서비스를 위해선 Embedded Redis 같은 방법이 아닌 외부 메모리 서버가 필요합니다.

세션 저장소로 DB를 사용하기

  1. 의존성 추가
    • 이 의존성만 추가하면 됨! compileOnly 'org.springframework.session:spring-session-jdbc'

댓글남기기