Java/스프링부트와 AWS로 혼자 구현하는 웹 서비스

세션 저장소로 데이터베이스 사용

Frankie 2021. 6. 26. 22:56

현업에서 세션 저장소에 대해 3가지 중 한 가지를 선택하는데

 

1. 톰캣 세션을 사용

- 별다른 설정 없을 때 기본적으로 선택되는 방식

- 2대 이상의 WAS가 구동되는 환경에서는 톰캣들 간의 세션 공유를 위한  추가 설정이 필요

 

2. MySQL과 같은 데이터베이스를 세션 저장소로 사용

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

- 많은 설정 필요 없지만, 로그인 요청마다 DB IO가 발생하여 성능상 이슈가 발생할 수 있다.

 

3. Redis, Memcached와 같은 메모리 DB를 세션 저장소로 사용

- B2C 서비스에서 가장 많이 사용

 

2번을 사용하려면 spring-session-jdbc 등록을 해야 한다.

 

build.gradle에

 

compile('org.springframework.session:spring-session-jdbc') 추가

 

application.properties에

 

spring.session.store-type=jdbc 추가

 

 

'Java > 스프링부트와 AWS로 혼자 구현하는 웹 서비스' 카테고리의 다른 글

JPA Auditing  (0) 2022.01.19
SessionUser  (0) 2021.06.23
스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현  (0) 2021.06.21
브라우저의 스코프  (0) 2021.06.12
머스테치  (0) 2021.06.07