채팅방의 메인 저장소가 없으므로 서버의 메모리에 적재된 채팅방은 서버를 재시작할 때마다 초기화되는 이슈가 있다. DB를 이용하거나 다른 저장소를 이용하여 채팅방이 계속 유지되도록 처리가 필요하다. 여기서는 Redis를 저장소로 이용해 보겠다.
채팅서버가 여러대이면 서버간 채팅방을 공유할수가 없음
현재는 채팅방을 websocket과 Stomp pub/sub를 이용하여 구현하였다. 그런데 이러한 구조는 pub/sub가 발생한 서버 안에서만 유효하므로 다른 서버로 접속한 클라이언트는 해당 채팅방이 보이지도 않고, 채팅방(topic)구독도 불가능하다. 즉, 구독 대상(채팅방 : topic)이 여러 서버에서 접근할 수 있도록 개선이 필요함.
요구조건을 해결하려면 공통으로 사용할 수 있는 pub/sub 시스템을 구축하고 모든 서버들이 해당 시스템을 통하여 pub/sub 메시지를 주고받도록 변경해야 함.
앞선 이슈에서의 문제점
서버를 재시작 할때마다 채팅방 정보들이 리셋됨
채팅서버가 여러대이면 서버간 채팅방을 공유할수가 없음