구현 방법 선정
진행중인 프로젝트에 실시간 알림을 구현해야 했다.
실시간 알림을 구현하는 방법으로는 폴링, 긴 폴링, 소켓, SSE 총 4가지가 존재한다.
폴링
특징
- 일정한 짧은 주기로 클라이언트에서 서버쪽으로 지속해서 요청을 보내고, 서버에서 줄 데이터가 있는 경우 데이터를 담아서 보내주고 없는 경우 빈 데이터를 보내준다.
장점
단점
긴 폴링
특징
- 서버가 내어줄 데이터가 있을 때까지 서버와 클라이언트 간의 연결을 유지하는 방식
- Polling은 요청을 보내면 즉시 응답해야 하기 때문에 서버에서 줄 데이터가 없으면 빈 데이터를 보내야 했던 반면, Long Polling 방식에서는 서버에서 클라이언트에게 줄 데이터가 없는 경우 곧바로 응답하지 않고 커넥션을 계속 유지하며, 서버에서 줄 데이터가 생겼을 때야 응답을 보내는 방식이다.
장점
단점