Spring Session을 사용하여 HTTP 세션 데이터 저장

완료됨

이 단원에서는 Azure Cache for Redis를 사용하여 Spring Session을 통해 HTTP 세션 데이터를 저장하는 방법을 알아봅니다.

HTTP 세션

HTTP 세션은 사용자 데이터(일반적으로 보안 정보)를 요청 간에 저장합니다. HTTP 세션은 애플리케이션 상태를 저장하거나 자주 액세스하는 사용자 데이터를 캐시할 수도 있습니다. HTTP 세션은 서버에 저장되기 때문에 확장성 문제가 발생할 수 있습니다. 애플리케이션이 더 많은 노드로 확장될 때 세션을 복제해야 합니다.

HTTP 세션은 서블릿의 초기부터 Java에서 사용할 수 있었으며 JSF(JavaServer Faces)와 같은 기술에서 이를 많이 사용합니다. HTTP 세션의 스케일링은 항상 문제가 되었으며 모든 주요 Java 애플리케이션 서버에는 세션 복제 메커니즘이 있습니다.

한 가지 문제는 HTTP 세션 복제 메커니즘이 표준화되지 않고 각 애플리케이션 서버와 관련된 API를 사용한다는 것입니다. 이 설정으로 인해 이식성 문제가 발생할 수 있습니다.

Spring Session

Spring Session은 HTTP 세션 복제를 구성하기 위한 일반 솔루션을 제공하는 Spring 하위 프로젝트입니다. Spring Session은 여러 백 엔드 옵션 중 하나로 Redis를 지원합니다. Spring Session은 애플리케이션이 스케일 아웃될 때 각 노드가 사용자 세션에 액세스할 수 있도록 Redis 내의 모든 세션 데이터를 복제합니다.

Spring Session 구성은 이전 Spring Data 구성과 유사하며 권장되는 또 다른 Redis 사용 시나리오를 보여 줍니다.

Redis와 함께 Spring Session 사용

일부 구성은 Spring Data Redis와 동일하며 두 솔루션 모두에 대해 한 번만 수행해야 합니다. Spring Data 구성에서와 같이 일반적으로 Spring Initializr를 사용하고 다음과 같은 기본 작업을 수행합니다.

  1. Spring Session Redis 라이브러리를 애플리케이션에 추가합니다.
  2. Azure Cache for Redis 인스턴스에 연결하도록 application.yml 파일을 구성합니다.
  3. Java의 HTTP 세션 메커니즘을 사용하여 데이터를 저장하고 검색합니다.

다음 단원으로 이동하여 이 구성을 구현합니다.