[Maplendar] WebSocket을 기반으로 한 보스 파티 채팅 구현하기
·
개발/Spring Boot
개요우리가 보스 파티의 시간을 정하기 위해서는 각자 언제 되는지에 대해서 일정을 공유하고 논의를 해야 하는데, 그러기 위해서는 채팅 기능이 있어야 한다.Maplendar에서는 웹소켓을 도입하여 보스 파티 채팅 기능을 구현하였다.채팅 기능은 웹소켓이나 폴링(Polling) 방식으로 구현할 수 있는데, 웹소켓을 선택한 이유는 폴링 방식의 한계 때문에 그렇다. 폴링 방식을 사용하게 되면 1초마다 새로운 메시지가 있는지를 확인하기 위해 DB를 조회해야 한다. 근데 이러한 방식은 Spring Batch와 유사하게 서버 부하가 크고, 결정적으로 실시간성이 떨어진다.또한, Full-Duplex(전이중 통신)의 특성을 갖고 있는 웹소켓을 활용하게 되면, 채팅방에 한 번 연결되면 클라이언트와 서버가 언제든 데이터를 주고..