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
'프로그래밍 > Web' 카테고리의 다른 글
[Web] REST API, RESTful 관련 좋은 글 (0) | 2022.05.19 |
---|---|
[Web]서버 템플릿 엔진과 클라이언트 템플릿 엔진이란? (0) | 2021.01.13 |
[Web] 정적 컨텐츠와 동적 컨텐츠란? (0) | 2020.05.31 |
[Web] 웹 서비스 동작 원리 (0) | 2020.05.31 |