システム アーキテクチャ - 静的ファイルを処理するための nginx アーキテクチャに関する質問
滿天的星座
滿天的星座 2017-05-16 17:24:18
0
2
516

前面には 2 つの nginx サーバー N1、N2 があり、高可用性のためにキープアライブを使用します
バックエンドは 4 つの Tomcat T1、T2、T3、および T4 のクラスターです (セッション共有の問題を解決するために memcached が使用されます)

コード内には js/css などの静的ファイルが含まれており、これらのファイルは扱いやすく、ソース コードはこれら 6 台のサーバー間で同期できます。

システムは pdf/doc などの大量のファイルをアップロードし、後でプレビューするために swf 形式に変換する必要があるため、T3 と T4 は特別な処理に使用されます。その他一般業務はT1、T2にお任せください

ここで問題が発生します。クライアントは pdf または swf ファイルにアクセスしたいと考えており、そのリクエストは nginx に送信されます。ローカルには js/css などの静的ファイルしか存在しないため、ここで傍受することはできません。 doc/pdf がないので、proxy_pass の場所を使用してそこにアクセスします。T3 と T4 ですが、T3 と T4 には Tomcat しかなく、静的ファイルの処理では明らかに効率的ではありません。何をするか?

私には 2 つのアイデアがあります:

  1. 共有ファイル システムを使用しますが、安定性を調査する必要があります
  2. バックエンドに Apache を使用する

どうやって解決したのかわかりませんが?

滿天的星座
滿天的星座

全員に返信(2)
習慣沉默

この問題は深刻になりつつありますか?これには多くのシナリオがあり、参照できる既製のソリューションがあります

いいねを押す +0
给我你的怀抱

最も簡単な方法は、doc/pdf リソースの新しいドメイン名またはサブドメイン名を指定し、nginx を構成し、新しいドメイン名に対するすべてのリクエストを t3 と t4 に転送することです。

しかし、ここで質問があります。ユーザーがファイルを t3 にアップロードし、次回ファイルにアクセスしたときに nginx がリクエストを t4 に転送したらどうなるでしょうか?
では、t3 と t4 の間に同期メカニズムはあるのでしょうか?
この問題を解決するにはいくつかの方法があります:
1. おっしゃる通り、sambaなどの共有ファイルシステムを利用し、t3とt4のファイルをここにアップロードします
2. 2 台のマシン間でファイルを手動で同期する利点は、データがバックアップと同等であることですが、欠点については言及されていません
3. 最初の問題も解決できるよう、Youpai のように cdn を使ってみてください
4. 。 。 。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート