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 |