자바빵
578
2020-05-19 11:29:31
2
353

Redis를 통해서 Session을 공유할수 있나요??


일단 서버를 2개를 두고 사용중입니다.


1번 서버에는 스프링부트로 사용자가 볼 수 있는 웹페이지를 담당하고 있구요.

2번 서버에는 마찬가지로 스프링부트를 사용하고 DB와 연결해서 데이터 관리를 하고 있습니다.


동작과정의 경우 로그인을 예로들면,

1번 서버에서 ID와 PW를 담아서 2번 서버로 보내면,

2번 서버에서 사용자 확인후에 결과를 return해줍니다.


결국 사용자는 1번 서버와 통신을하고, 1번 서버는 2번 서버와 통신을 합니다.

그렇기 때문에 사용자의 session이 1번 서버와는 연동이 잘 되는데,

실질적으로 정보를 받아오는 2번 서버와는 연동이 되지를 않습니다.


그래서 1번 서버에서 2번 서버로 session을 보내는 방법을 찾다보니 Redis로 가능한거 같더라구요.

2번 서버에 Redis를 설치해서 1번 서버와 연결 후에 session.getId()로 값을 보니, 계속 서로 다른 값이 나옵니다...ㅠ


다른 방법으로 접근을 해봐야 할까요?

아니면 Redis를 잘못사용하고 있는걸까요??

0
  • 답변 2

  • 블레이크
    1k
    2020-05-19 12:14:42 작성 2020-05-19 12:18:36 수정됨

    어쨌거나 레디스는 클러스터링을 지원합니다.  또한 원자성도 지원합니다.

    저는 마이크로 배치 처리에 있어서 뮤텍스 처럼 사용했었지요.  DB 데드락을 방지하고자요...

    클러스터링 설정이 잘못되었거나 한것 같은데 사용하고자 하는 용도로는 적합하니 설정만 구글링해서 찾아보시면 될것 같습니다.

  • 자바빵
    578
    2020-05-21 14:48:01

    결국 클러스터링을 이용해야하는군요!!

    @Bean 주입 부분에서 계속 에러가 나는데, 좀 더 찾아봐야겠습니다!!

  • 로그인을 하시면 답변을 등록할 수 있습니다.