데브허브 | DEVHUB | [1:1 커리어 코칭] polling vs SSE 차이? 언제 어떤걸 써야할까?![1:1 커리어 코칭] polling vs SSE 차이? 언제 어떤걸 써야할까?!
- 초 단위 UI 업데이트를 위해 매초 모든 주식 데이터를 API 폴링 방식으로 호출하여 서버 부하 우려가 발생했습니다. 🔄
- 현재 구현은 매초 모든 주식 정보를 폴링하며, 실제 주식 가격은 분 단위로 변하지만 '남은 시간' UI를 위해 초 단위 폴링을 사용하고 있어 비효율적입니다. 📉
- 데이터가 매초 변하지 않음에도 불구하고 초 단위로 API를 호출하는 현재 폴링 방식의 비효율성에 대한 의문이 제기되었습니다. 🤔
- 서버에서 데이터 변경 시 클라이언트로 즉시 푸시하는 단방향 통신 방식인 SSE(Server-Sent Events)가 폴링의 효율적인 대안으로 제시되었습니다. 🚀
- SSE 구현을 위해서는 서버에서 이벤트(예:
data:change)를 발생시키고 클라이언트에서 EventSource API를 통해 이를 수신하는 작업이 필요합니다. 🛠️
- SSE는 폴링 대비 네트워크 요청, 서버 부하, 실시간성, 확장성 측면에서 훨씬 유리하며, 특히 다수의 클라이언트 환경에서 큰 이점을 가집니다. ✅
- 개발 중인 주식 게임은 80명의 유저를 대상으로 성공적으로 운영되어 80만원의 수익을 창출했으며, 향후 더 많은 유저를 고려할 때 SSE 도입의 필요성이 강조되었습니다. 💰