퀘이사123
552
2021-02-17 16:19:44 작성 2021-02-17 16:20:38 수정됨
1
113

aws 와 websocket에 관련한 질문입니다.


서버를 aws로 돌리고 있는데

오토스케일링을 쓰고 있어 두개의 서버가 돌아가고있습니다.(제가 관리하는쪽이 아니라 정확한 표현인지 모르겠습니다.)


그러다 보니 최초 웹에 로그인할때 각 서버로 나뉘어 져서 소켓이 연결되다 보니

(

로그인할때 아이디 마다 특정 키값을 만들어서

public static final Map<String, WebSocketSession> sessions = new HashMap<String, WebSocketSession>(); 이런식으로 서버에다가 정보를 저장하고있습니다.

)

어떠한 이벤트가 발생했을때 같은서버에 연결되어있는 소켓들에게만 메세지가 가게 됩니다.


해결하려면 웹소켓세션 정보를 db에 저장시켜야 할거같은데, 어떻게 저장을 시켜야 할지를 모르겠습니다.


해결방안이 있을까요?

0
  • 답변 1

  • Obzect
    2k
    2021-02-17 22:11:24
    token 정보는 db에다 저장하심 안되구요 redis(메모리 기반DB) 서버 구축 하시고 거기다 저장하시면 됩니다. 레퍼런스는 github 가면 차고 넘칠테니 보면서 하심 됩니다.
  • 로그인을 하시면 답변을 등록할 수 있습니다.