본문 바로가기

SetFN은 왜 빠른가요

SetFN에서는 새로고침하지 않아도 새 파일이 바로 나타나고, 팀원의 위치가 실시간으로 표시됩니다. 이 문서에서는 이를 가능하게 하는 웹소켓(WebSocket) 통신과 내부망 전송의 차이를 설명합니다.


통신 방식의 차이

Q: 일반 웹 서비스와 SetFN의 통신 방식은 어떻게 다른가요?

HTTP 폴링 방식에서는 클라이언트가 서버에 "변경 사항 있어?"라고 주기적으로 요청을 보내고 응답을 기다립니다.

SetFN은 웹소켓 방식을 사용합니다. 서버와 클라이언트가 한 번 연결되면 그 연결을 유지한 채 양방향으로 데이터를 주고받습니다.

항목HTTP 폴링SetFN (웹소켓)
연결요청할 때마다 연결한 번 연결 후 유지
변경 전달다음 요청 주기까지 지연변경이 생기면 바로 전달
서버 부하반복 요청으로 높음변경 시에만 전송해 낮음

Q: 쉽게 비유하면 어떤 차이인가요?

HTTP 폴링은 문자 메시지와 같습니다. 새 소식이 있는지 직접 물어봐야 합니다.

사용자: "새 파일 있어?" (요청)
서버: "아직 없습니다." (응답)
[잠시 후]
사용자: "지금은?" (다시 요청)
서버: "하나 올라왔습니다." (응답)

웹소켓은 전화 통화와 같습니다. 연결이 유지되어 있으므로 변경이 생기면 바로 알려 줍니다.

[연결 유지 중]
팀원이 파일 업로드 -> 내 화면에 즉시 표시
팀원이 파일명 변경 -> 내 화면에 즉시 반영
팀원이 다른 폴더로 이동 -> 채팅 참여자 목록의 위치 즉시 갱신

로컬 네트워크의 이점

Q: 내부망에서 사용하면 왜 더 빠른가요?

인터넷을 거치지 않고 같은 네트워크 안에서 직접 통신하기 때문입니다. 클라우드는 데이터가 외부 서버까지 왕복해야 하지만, SetFN은 같은 네트워크 안에서만 데이터가 이동합니다.

클라우드: 내 PC -> 인터넷 -> 외부 서버 -> 인터넷 -> 동료 PC
SetFN:   내 PC -> 내부망 -> 동료 PC

Q: 대용량 파일 전송도 빠른가요?

내부망 속도를 그대로 사용하므로 파일이 클수록 차이가 커집니다. 아래는 이론상 전송 시간입니다.

10GB 파일 전송 시간:
- 1Gbps 내부망 (SetFN): 약 80초
- 100Mbps 인터넷 (클라우드): 약 13분

실제 업무에서의 효과

Q: 실시간 동기화는 업무에 어떤 도움이 되나요?

파일 업로드, 댓글 작성, 이름 변경 같은 변경 사항이 팀원 화면에 바로 반영됩니다. 새로고침하거나 "파일 올렸으니 확인해 봐"라고 따로 알릴 필요가 없습니다.

Q: 편집 충돌은 어떻게 방지하나요?

한 사람이 파일을 편집하는 동안에는 편집 잠금이 걸려 다른 사용자가 같은 파일을 편집할 수 없습니다. 잠금 표시로 누가 편집 중인지 확인할 수 있으므로, 같은 파일을 동시에 고치다 한쪽 작업을 잃는 일을 막습니다.

기존 방식:
  김철수: 파일 편집 -> 저장
  이영희: 같은 파일 편집 -> 저장
  결과: 충돌 발생, 한쪽 작업 유실

SetFN:
  김철수: 파일 편집 시작 (편집 잠금)
  이영희: 김철수님의 편집 잠금 표시 확인
  이영희: 다른 파일 먼저 작업
  결과: 충돌 없음

관련 문서