개발고래
20
2021-11-21 22:38:47
4
208

웹프로젝트에서 실시간 비동기통신(대시보드, 현황판 등)


안녕하세요

1년차 웹개발하고있는 초보 개발자입니다.

저는 주로 상담어플리케이션 솔루션을 판매하는 회사에 다니고있는데

회사 주력 패키지는 전자정부프레임워크 스프링 기반 웹어플리케이션입니다.


프로젝트에 나가다보면 상담어플리케이션에서 실시간으로 현황통계나

대시보드 화면에서 그래프, 통계 등을 몇초마다 refresh해서 보여줘야할 경우가 많습니다.

우선 여태까지는 주로 setInterval과 Ajax를 통해서 

데이터를 가져오는 Ajax를 setInterval로 5초에 한번씩 실행해서 

refresh해주는 방식을 사용했는데

이런식으로 개발하다보면 항상 프로젝트 후반부 가면 성능이슈가 튀어나와서

이런 고질적인 문제를 해결할 수 있는 방법이 없을까 고민하면서 찾아보다보면

웹소켓쪽으로 정보가 많이 나오던데 

웹소켓은 취업준비(학원)에서 실시간 채팅예제로 한번 배워보긴했는데

인터넷에서도 웹소켓은 주로 실시간 채팅이나 알림개발 예제가 많던데 

혹시 현업에서 혹시 웹소켓을 이용해서 대시보드나 현황판을 개발하는 경우가 있는지

또 이게 성능적으로 확실히 더 좋을지 궁금합니다.



0
  • 답변 4

  • KIMYOUNGRAN
    487
    2021-11-21 23:09:45
    저도 많이 알지는 못하지만 SSE쪽으로 해보시는건 어떤가요?

    필요하신게 양방향 통신이아닌 단방향 통신으로 서버에서 보내주는 자료만 실시간으로 업데이트만 해주면된다면 소켓보다 SSE가 좀더 원하시는바에 맞는거같습니다.
  • 더미
    16k
    2021-11-21 23:56:51

    대시보드나 현황판은 

    실시간을 원하는경우가 잘 없어요

  • 개발고래
    20
    2021-11-22 08:44:43

    SSE 찾아봤는데 괜찮아보이네요! 

    이전 프로젝트에서 살짝봤던 카프카?랑

    비슷한 느낌이기도하네요.

    조언 감사합니다! 한번 파봐야겠습니다


    저희쪽에선 메인에 미니현황판이나 인트로 대시보드 주기적 갱신은 원하시는경우가 많더라구요ㅜㅜ

  • 더미
    16k
    2021-11-22 10:26:59

    주기적갱신은 하지만 

    실시간은 아니라 ajax가 일반적입니다

  • 로그인을 하시면 답변을 등록할 수 있습니다.