728x90
Session 정의
- 네트워크 상에서 두 개 이상의 통신장치간에 유지되는 상호 연결
- 연결된 일정 시간 동안 유지되는 정보를 나타냄
- 적용 대상에 따라 다른 의미를 가짐
Web 로그인 세션
- Web 상에서 특정 유저가 로그인했음을 나타내는 정보
- 브라우저는 Cookie를, 서버는 해당 Cookie에 연관된 세션 정보를 저장
- 유저가 로그아웃 하거나 세션이 만료될 때 까지 유지되어 유저에 특정한 서비스 가능
Web 로그인 과정
분산 환경에서의 세션 처리
- Server는 세션 정보를 저장 해야 함
- Server가 여러 대라면 최초 로그인한 Server가 아닌 Server는 세션 정보를 알지 못함
- 세션 정보를 Server간에 공유할 방법이 필요(Session Clustering)
분산 환경에서의 세션 처리 - RDB 사용시 (부적합)
- 관계형 데이터 모델이 필요한가?
- 단순한 Session 정보 1:1 맵핑이기 때문에 필요하지 않다
- 영속성이 필요한 데이터 인가?
- 세션 생명주기가 짧기 때문에 불필요 하다
- 성능 요구사항을 충족하는가?
- 계속해서 데이터를 관리 하기 때문에 성능에 부하가 온다.
분산환경에서 세션 처리 - Redis 사용시 (적)
- 세션 데이터는 단순 Key-Value 구조
- 세션 데이터는 영속성이 필요 없음
- 세션 데이터는 변경이 빈번하고 빠른 액세스 속도가 필요
728x90
'Server' 카테고리의 다른 글
[Caching] 캐싱의 원리 와 목적 (0) | 2024.02.29 |
---|---|
[Session] Spring Boot에서의 세션 관리 (0) | 2024.02.28 |
동시성 제어 (0) | 2024.02.18 |
[낙관적락/Optimistic Lock]_기본 개념 (비관적 락/PESSIMISTIC 짧은 설명 포함) (0) | 2024.02.15 |
[비관적인락/PESSIMISTIC]_쓰기락 테스트 (0) | 2024.02.06 |