ユーザーがコンテンツをアップロードし、個別に変更を加え、それらの変更に基づいてフォームを送信できる状況があります。
これは、単一サーバーの非フェイルオーバー環境では正常に機能しますが、フェイルオーバーをサポートするサーバー間でファイルを共有するための何らかのソリューションが必要です。
過去に誰かがこれに遭遇したことがありますか?そして、どのようなソリューションを開発できましたか?明らかにデータベースに永続化することは1つのオプションですが、それは避けたいと思います。
ユーザーがコンテンツをアップロードし、個別に変更を加え、それらの変更に基づいてフォームを送信できる状況があります。
これは、単一サーバーの非フェイルオーバー環境では正常に機能しますが、フェイルオーバーをサポートするサーバー間でファイルを共有するための何らかのソリューションが必要です。
過去に誰かがこれに遭遇したことがありますか?そして、どのようなソリューションを開発できましたか?明らかにデータベースに永続化することは1つのオプションですが、それは避けたいと思います。
このシナリオでは、両方のフロントエンドアプリサーバーが書き込む個別のファイルサーバーがあります。これにより、どちらのサーバーも同じファイルセットにアクセスできます。
以前の仕事では、F5ロードバランサーが前面にあるWebサーバーのクラスターがありました。私たちのアプリケーションでは、ユーザーが写真などを含む可能性のあるコンテンツをアップロードできるという点で、非常によく似た問題がありました。これらはレガシーアプリケーションであり、データベースを使用するように編集する必要はありませんでした。SANソリューションは私たちの状況には高すぎました。
最終的に、2つのクラスター化されたサーバーでファイルレプリケーションサービスを使用することになりました。これは、反対側のサーバー上のパスへのネットワークアクセスを持つアカウントを使用して、両方のマシンでサービスとして実行されました。ファイルがアップロードされると、このバックエンドサービスはファイルシステムフォルダー内のデータを同期し、いずれかのWebサーバーから提供できるようにします。
レビューした2つの製品は、ViceVersaとPeerSyncでした。最終的にPeerSyncを使用したと思います。
これに対する最善の解決策は、通常、すべてのサーバーからアクセス可能でフェイルオーバーを含む、何らかの形式のSAN上に共有エリアを提供することです。
これには、スティッキーな負荷分散を提供する必要がないという利点もあります。アップロードは1つのサーバーで処理でき、編集は別のサーバーで処理できます。
フェイルオーバーを備えた共有SANは、コストが高い(高い)優れたソリューションです。妥当なコストでフェイルオーバーを使用する同様のソリューションはありますか?おそらくWindows用のDRBDのようなものですか?
単純な共有ファイルシステムの問題は、冗長性の欠如です(ファイルサーバーがダウンした場合はどうなりますか)?