이번 프로젝트에서 프론트-백간 통신이 필요할 때는 전부 소켓 통신을 사용하였습니다
이벤트만 핑퐁 구조로 걸어주면 되서 쉽게 작성할 수 있어서가 가장 큰 이유였는데,
하다보니까 소켓이 연결되어있는 동안에는 굳이 HTTP 통신을 사용해야 할 이유가 크게 안느껴지더라구요.
이처럼 소켓이 연결되어있을 때, HTTP요청과 소켓 이벤트 중 어떤걸 사용해야 할지 고민됩니다
동적으로 자주 변화하는 데이터를 지속적으로 요청하거나 할때 소켓이 유리하다는건 직관적으로 느껴지는데, 자신있게 대답할만한 이유는 없습니다..
어떤 부분을 고려해야 할까요? 장단점같은게 있을까요?
100명
100명의 사용자랑 연결 맺고 있다.
HTTP (stateless)
keep-alive
100명
1000명
10000명
socket → 실시간으로 데이터를 “주고/받을 때” (연결을 맺고 있어야함) 쓰는 것
- 사용자랑 실시간으로 커뮤니케이션을 할 때
http → 연겨르 맺는게 아니라, 필요할 때 요청을 보내고 받아오는 것 → 많은 사용자와 요청을 많이 주고 받을 수 있다.
- 사용자가 많을 때