[Web] 어플리케이션 세션 저장소 사용 방법 3가지 :: 매운코딩
728x90
300x250

어플리케이션 내에서 로그인을 하면 세션이 만들어지고

이 세션을 로그아웃 버튼을 누르기전까지 유지하기 위해서는 세션을 저장해둘 세션 저장소가 필요하다.

세션 저장소를 선택하는 방법은 크게 3가지가 있다.

 

1. 톰캣(WAS) 세션 이용

- 내장 톰캣의 메모리에 저장되어 실행(배포)할 때마다 재시작 되어 초기화된다.

- 2대 이상의 WAS가 구동되는 경우 톰캣들간의 세션 공유를 위한 동기화 설정이 필요하다.

 

2. 데이터베이스(MySQL,Oracle)를 세션 저장소로 사용

- 여러 WAS간의 공용 세션 사용할 수 있는 가장 쉬운 방법

- 설정은 적지만, 로그인 요청마다 DB I/O가 발생하여 성능이슈가 발생할 우려가 있다.

- 로그인 요청이 많이 없는 사내 시스템, 백오피스 용도로 사용

 

<설정>

//build.gradle
compile('org.springframework.session:spring-session-jdbc')

//application.properties
spring.session.store-type=jdbc

 

 

3. 메모리DB(Redis, Memcached)를 세션 저장소로 사용

- B2C 서비스에서 많이 사용

- 서비스에 별도 사용료 지불..

- 실제 서비스로 사용하기 위해서는 임베디드 레디스와 같은 방식이 아닌 외부 메모리 서버가 필요

 

 

출처: 스프링부트와 AWS로 혼자 구현하는 웹서비스

728x90

+ Recent posts