0

私はすでに3年以上取り組んでいるこのプロジェクトを持っています。大きいです。そして、最終的な仕上げに取り組むだけでなく、将来の更新/シナリオについて考えています。

私は最近、ネットワーク上で Apache/webserver デーモン バランシングを調べました。これにより、バランシングの目的で、スレッドを使用してファイルを処理する複数のサーバーが活性化されます。

私の質問は、Linux ボックスの選択したフォルダーにプロジェクトと共にファイル (画像) を保存しているためです。

ページが別のセカンダリ サーバーから提供されている場合 (バランシング)、ユーザーが画像を保存する必要がある場合、どこに保存しますか? これを知る必要があるため、複数の httpd サーバーを使用することになった場合、ユーザーによって保存されたすべてのファイルが本来あるべき場所にあることを知る必要があるため、アプリはそれらをきれいに表示します。

4

1 に答える 1

1

予算やスキルなどに応じて、ここには多くのソリューションがあります。まず、負荷分散ソフトウェアには、ユーザーがセッションの途中で別のサーバーに切り替えられないように、セッションが固定されていることを確認する機能が必要です。アップロードするか、すべてのアップロードを処理するサーバーを選択します。画像がアップロードされたら、次のことができます:(サーバーに関してはLinuxの経験しかありません。どのOSかはわかりませんでした)

CDN へのアップロードに関する注意。ローカル コピーが機能しなくなった場合、一度にすべてをダウンロードするには費用がかかる可能性があるため、必ずしも単独で使用するソリューションとは限りません。

NFS 共有 (ネットワークを介してイメージのディレクトリをマウントする) を使用しないことをお勧めします。これは、1 つのサーバーがダウンした場合、最善の場合はイメージが提供されず、最悪の場合、他のサーバーも一緒にダウンすることを意味するためです (それが発生した場合)。

DB更新

複数のサーバーに画像を配置する必要があるプロジェクトでは、縦、横、正方形のバージョンがそれぞれ約 6 サイズ (記事、ギャラリー、リスト ページ、モバイルなど) あるため、かなり前にブロブの保存を割引していましたが、今では考えてみてください。DBに最大/オリジナルを保存し、キャッシュを使用してオンデマンドで他のものを生成することを検討するかもしれませんが、それは非常にうまくいくかもしれません

于 2013-05-11T15:07:56.250 に答える