채팅을 구현 할 때 실시간성을 중요하게 생각했는데 폴링 방식은 일정한 간격으로 서버에 요청을 보내고 응답을 받아야 하기 때문에 실시간 통신에 제한이 있습니다. 반면 웹소켓은 서버와 클라이언트 간의 양방향 연결을 제공하여 실시간으로 데이터를 교환할 수 있습니다.
또한 폴링 방식은 일정한 간격으로 서버에 요청을 보내기 때문에 불필요한 네트워크 트래픽이 발생해 서버에 부하를 줄 수 있습니다. 하지만 웹소켓은 연결을 유지하고 있기 때문에 필요할 때만 데이터를 주고받아 효율적으로 네트워크를 사용할 수 있습니다. 물론 웹 소켓도 자원이 소비되지만 폴링 방식보다 자원을 더 효율적으로 사용한다고 생각해 웹 소켓 방식을 사용했습니다.
스케일 아웃을 고려해 외부 메시지 브로커를 사용할 예정입니다.