torrentを使ってプル型のファイルアップロードってどうなんだ

後述の案件で使おうとした方法。

参考
BitTorrentの仕組み
  1. アップロードしたいファイルを持つクライアントは、対象のファイル公開用のtorrentファイルを作成
  2. クライアントでbittorrentを起動
  3. torrentファイルを通常のアップローダのようにHTTP経由でサーバーにアップロード
  4. アップロードされたtorrentファイルはサーバーのtorrentデーモンに追加
  5. サーバーのtorrentデーモンはクライアントのtorrentに接続し、対象のファイルをダウンロード(クライアントから見たらこれがアップロード)

こうすることのメリット/デメリットは次のような感じか

  • メリット
    • 回線断などの通信トラブルからはtorrentの技術によって保護される
    • 通信に関するプログラムに既に実績のあるものを使えるため工期/工数とも圧縮できる
    • サーバーにトラッカー機能を付けることで、アップロードされたファイルの公開およびダウンロード時、P2Pによるファイルの拡散が可能なためネットワークトラフィックの集中を軽減できる
  • デメリット
    • アップロードが完了したかクライアントからは分かりづらい
    • torrentおよびP2Pに対する心理的な障壁
    • (場合によっては)情報漏えいに対するリスクが高まる

安価かつ短納期で信頼できるアップロードインフラを作成するという意味では一考の余地がありそうだけど、内部で流通する情報とそれを実際に使う人や企業によってはセキュリティリスクで嫌がられそうといったとこか。