List

실시간 기능 구현: 웹소켓이 필요한 경우

#웹가이드

Web Guide실시간웹소켓실시간 알림
실시간 기능 구현: 웹소켓이 필요한 경우
실시간이라는 요구는 생각보다 자주 과합니다.
몇 초 늦어도 되는 일에 실시간 구조를 넣으면 비용만 올라갑니다.
실시간 기능 구현: 웹소켓이 필요한 경우 관련 사진
01정말 실시간이 필요한가
새로고침하면 보이는 것으로 충분한 경우가 많습니다. 몇 초 지연이 문제가 되는지 따져보세요.
실시간이 필요한 경우
채팅 상담 · 실시간 경매 · 좌석 선택 · 동시 편집 · 관제 화면
실시간이 불필요한 경우
주문 상태 확인 · 방문자 통계 · 공지 알림 · 재고 표시 · 대부분의 일반 사이트
02대안 방식
실시간처럼 보이게 하는 가벼운 방법이 있습니다. 대부분은 이것으로 충분합니다.
주기적 확인
몇 초마다 서버에 새 내용을 물어봅니다. 구현이 단순합니다.
서버 전송 방식
서버가 일방적으로 보내는 가벼운 방식도 있습니다.
새로고침 버튼
사용자가 직접 갱신하게 하는 것도 방법입니다.
알림 배지
새 내용이 있다고만 알리고 누르면 불러옵니다.
웹소켓
양방향 즉시 통신이 필요할 때만 씁니다.
03도입 시 고려사항
실시간 연결은 서버 자원을 계속 차지합니다. 접속자가 많으면 부담이 커집니다.
동시 접속
연결을 유지하므로 서버 사양이 올라갑니다.
호스팅 지원
일반 웹호스팅에서는 지원하지 않는 경우가 많습니다.
연결 끊김
네트워크가 불안정하면 재연결 처리가 필요합니다.
메시지 유실
끊긴 동안의 내용을 어떻게 채울지 정합니다.
확장
서버를 여러 대로 늘릴 때 구조가 복잡해집니다.
모니터링
연결 상태를 확인할 수 있어야 합니다.
04사용자 경험
실시간 기능은 잘 동작할 때보다 문제가 생겼을 때의 처리가 중요합니다.
연결 상태 표시  끊겼는지 사용자가 알 수 있게 합니다.
자동 재연결  끊기면 자동으로 다시 붙습니다.
대체 동작  실시간이 안 되면 주기적 갱신으로 전환합니다.
중복 방지  재연결 시 같은 내용이 두 번 표시되지 않게 합니다.
배터리 고려  모바일에서 과도한 연결은 배터리를 소모합니다.
비활성 처리  화면을 보지 않을 때는 연결을 줄입니다.
CHECK POINT
□  몇 초 지연이 실제로 문제가 되는지 확인했는가
□  더 가벼운 대안을 검토했는가
□  예상 동시 접속자 수를 계산했는가
□  호스팅 환경이 지원하는지 확인했는가
□  연결이 끊겼을 때 자동 재연결이 되는가
□  끊긴 동안의 내용을 복구하는가
□  연결 상태가 사용자에게 표시되는가
□  모바일 배터리 소모를 고려했는가
몇 초 늦어도 되는 일에 실시간 구조를 넣으면 비용만 올라갑니다.
실시간 기능은 잘 될 때보다 끊겼을 때의 처리가 더 중요합니다.
#실시간#웹소켓#실시간 알림#동시 접속#서버 부하#재연결#채팅#홈페이지 개발#웹비스타#홈페이지 제작
목록보기