본문 바로가기

WebDev/Backend

Spring boot session cluster

Spring boot session cluster


이 링크를 참조했다.

http://docs.spring.io/spring-session/docs/current/reference/html5/guides/boot.html




이걸 왜 하는가? 클러스터링 환경에서 세션을 관리하기 위해서

세션은 다양한 이유로 많이 사용된다. 중요한건,

WAS가 하나일 경우는 세션 관리 문제가 없다. 그러나 WAS가 여러대라면..? 거기다 spring boot라서 설정도 잘 모르겠다면?

좀 골치가 아파진다. 물론 Tomcat에서 세션 클러스터링을 지원하지만... 글쎄...


이 문제를 단순하게 해결할 방법은? Redis에 세션을 넣어 중앙관리 하는 것이다.


prerequisite


  • Redis가 설치된 서버 (또한 bind설정을 변경해 외부에서 접속 가능하게 해야 한다)


STEP1> 라이브러리 추가


compile('org.springframework.boot:spring-boot-starter-security')

compile('org.springframework.session:spring-session:1.0.2.RELEASE')

compile('org.springframework.boot:spring-boot-starter-redis')


라이브러리는 순서대로 보안, 스프링 세션 클러스터, 스프링 redis 이다.




STEP2> Redis 서버 설정


spring.redis.host=123.123.123.123

spring.redis.password=mypassword

spring.redis.port=6379


뭐 명확하니 딱히 설명할 것은 없다.

만약 password가 없는 경우(Redis를 설치하고 암호를 지정하지 않았을 경우) 아무것도 적지 않고 줄바꿈을 하면 된다.


STEP3> 클래스 추가



@EnableRedisHttpSession 

public class HttpSessionConfig { }


딱히 할건 없다. 그냥 아무데나 클래스 넣고, 어노테이션을 달아주면 알아서 스프링이 반응한다.

'WebDev > Backend' 카테고리의 다른 글

boto dynamodb2 사용하기  (0) 2015.11.18
Spring boot properties  (0) 2015.11.05
Spring Boot Package  (0) 2015.11.03
Spring boot application.properties  (0) 2015.11.03
EC2 Ubuntu 14.04LTS에 Tomcat7 설치  (0) 2015.10.29