Server

Session 이란?

Raconer 2024. 2. 24. 17:04
728x90

Session 정의

  • 네트워크 상에서 두 개 이상의 통신장치간에 유지되는 상호 연결
  • 연결된 일정 시간 동안 유지되는 정보를 나타냄
  • 적용 대상에 따라 다른 의미를 가짐

Session

Web 로그인 세션

  • Web 상에서 특정 유저가 로그인했음을 나타내는 정보
  • 브라우저는 Cookie를, 서버는 해당 Cookie에 연관된 세션 정보를 저장
  • 유저가 로그아웃 하거나 세션이 만료될 때 까지 유지되어 유저에 특정한 서비스 가능

Web 로그인 세션

Web 로그인 과정

로그인 과정

분산 환경에서의 세션 처리

  • Server는 세션 정보를 저장 해야 함
  • Server가 여러 대라면 최초 로그인한 Server가 아닌 Server는 세션 정보를 알지 못함
  • 세션 정보를 Server간에 공유할 방법이 필요(Session Clustering)

분산 환경에서의 세션 처리 - RDB 사용시 (부적합)

  • 관계형 데이터 모델이 필요한가?
    • 단순한 Session 정보 1:1 맵핑이기 때문에 필요하지 않다
  • 영속성이 필요한 데이터 인가?
    • 세션 생명주기가 짧기 때문에 불필요 하다
  • 성능 요구사항을 충족하는가?
    • 계속해서 데이터를 관리 하기 때문에 성능에 부하가 온다.

분산환경에서 세션 처리 - Redis 사용시 (적)

  • 세션 데이터는 단순 Key-Value 구조
  • 세션 데이터는 영속성이 필요 없음
  • 세션 데이터는 변경이 빈번하고 빠른 액세스 속도가 필요
728x90