SetFNはなぜ速いのか
SetFNを使用すると、再読み込みをしなくてもファイルがすぐに表示され、チームメンバーの位置がリアルタイムで表示されます。 このドキュメントでは、これを可能にするWebSocket通信と、内部ネットワークでの転送の違いを説明します。
通信方式の違い
Q: 一般的なWebサービスとSetFNでは、通信方式がどのように違いますか?
HTTPポーリング方式では、クライアントがサーバーに「変更はありますか?」というリクエストを定期的に送り、応答を待ちます。
SetFNはWebSocket方式を使用します。サーバーとクライアントが一度接続されると、その接続を維持したまま、双方向でデータをやり取りします。
| 項目 | HTTPポーリング | SetFN(WebSocket) |
|---|---|---|
| 接続 | リクエストのたびに接続 | 一度接続したら維持 |
| 変更の伝達 | 次のポーリングまで遅延 | 変更が発生するとすぐに伝達 |
| サーバー負荷 | 高い(リクエストの繰り返し) | 低い(変更時のみ送信) |
Q: わかりやすくたとえると、どのような違いですか?
HTTPポーリングは、テキストメッセージのようなものです。新しい知らせがあるかどうかを、自分で確認する必要があります。
ユーザー: 「新しいファイルはありますか?」 (リクエスト)
サーバー: 「まだありません。」 (応答)
[しばらくして]
ユーザー: 「今はどうですか?」 (再リクエスト)
サーバー: 「1件アップロードされました。」 (応答)
SetFNの方式は、電話での通話のようなものです。接続が維持されているため、変更があればすぐに知らせます。
[接続を維持中]
チームメンバーがファイルをアップロード -> 自分の画面にすぐ表示
チームメンバーがファイル名を変更 -> 自分の画面にすぐ反映
チームメンバーが別のフォルダに移動 -> チャット参加者リストの位置がすぐ更新
ローカルネットワークの利点
Q: 内部ネットワークで使用すると、なぜさらに速くなるのですか?
インターネットを経由せず、同じネットワークの中で直接通信するためです。 クラウドではデータが外部のサーバーまで往復する必要がありますが、SetFNでは同じ建物の中でデータが移動します。
クラウド: 自分のPC -> インターネット -> 外部サーバー -> インターネット -> 同僚のPC
SetFN: 自分のPC -> 内部ネットワーク -> 同僚のPC
Q: 大容量ファイルの転送も速いですか?
内部ネットワークの速度をそのまま活用するため、大容量ファイルの転送では差がさらに大きくなります。
10GBのファイルの転送時間:
- 1Gbpsの内部ネットワーク (SetFN): 約80秒
- 100Mbpsのインターネット (クラウド): 約13分
実際の業務での効果
Q: リアルタイム同期は、業務にどのように役立ちますか?
ファイルのアップロード、コメントの作成、名前の変更など、すべての変更がチームメンバーの画面にすぐ反映されます。 再読み込みをしたり、「ファイルをアップロードしたので確認してください」と別途知らせたりする必要はありません。
Q: 編集の競合はどのように防ぎますか?
1人がファイルを編集している間は編集ロックがかかり、ほかのユーザーは同じファイルを編集できません。 ロックの表示で誰が編集中かを確認できるため、同じファイルを同時に編集して作業内容が失われることを防げます。
従来の方式:
キム・チョルス: ファイルを編集 -> 保存
イ・ヨンヒ: 同じファイルを編集 -> 保存
結果: 競合が発生し、どちらかの作業が失われる
SetFN:
キム・チョルス: ファイルの編集を開始(編集ロック)
イ・ヨンヒ: キム・チョルスさんの編集ロックの表示を確認
イ・ヨンヒ: 先に別のファイルで作業
結果: 競合なし