2016-11-27 15 views
0

2つのWebサイト(Asp.net MVC)をホストしたい、同じ名前のフォルダが1つあり、あるWebサイトから別のWebサイトにデータを定期的にコピーしたい。例えば、website1/file/website2/file/2つのWebサイトのディレクトリ間でデータをコピー

私はそれを行うためにWindowsサービスを作成することを考えました。 私の質問は、これらの2つのフォルダ間でhttp経由でデータをコピーする方法です。

+0

httpを使用して同じサーバー上の2つのフォルダ間でファイルをコピーするのはなぜですか? rsyncなどのプログラムを使用して、cronジョブで実行することができます。 –

+0

一意のファイル命名規則がありますか?そうしないと、ファイルを上書きする可能性があります。 –

+0

あなたはホストオペレーティングシステムにどれくらいのアクセス権を持っていますか。 Windows 2012 R2とは何ですか?詳細情報なしで正確に答えるのは難しい –

答えて

0

個人的には、私はDropBoxのような何らかのサービスを利用しようとするソリューションを開発するのが複雑です。

また、ファイルを分散ファイルシステムに格納する方法もあります。これは、Amazon S3またはAzure Blob Storeである可能性があります。これにより、最初の同期全体の必要性が排除されます。これは、ファイルをエンドユーザにストリーミングできるプロキシWebサービスが目を向けることができます。

これは、HTTPを介したファイルの同期管理に関する複雑さが多いためです。

私はあなたがStackOverflowで完全な解決策を得るとは思わないが、私はいくつかの推奨をすることができます。

  1. 私は、同期を調整するためにマスタースレーブシステムを使用します。これはいくらかの設計を必要とし、複雑さを増す。しかし、将来、より多くのノードを追加することができます。マスター/スレーブシステムの実装は、単一の郵便で簡単に行うことはできず、さらに調査する必要があります。ここにはすでに良いリソースがあります。 How to elect a master node among the nodes running in a cluster?
  2. 各ノードのデルタを計算します。例えばマスターはどのファイルを持っていませんか?マスターは私にはないファイルを持っています。名前の競合は他のノードでですか?どのように日付ファイルの最大のものを決定するのですか?
  3. ファイルの転送サービスの一部として、または既存のWebサイトに接続するには、何らかのエンドポイントが必要です。
  4. HTTPクライアントはファイルを送信し、エラー処理のための転送の進行状況を処理します。
  5. ファイル全体がマスターに転送された場合、および失敗したファイルをクリーンアップする方法について、すべての処理がエラーになります。

これはおそらくこれをやろうとする複雑さのヒントです。したがって、既存の製品やクラウドサービスの使用に関する私の推奨事項。

関連する問題