質問1:nginxのはやってに使用されていますか?
nginxのは、高性能HTTPサーバーとリバースプロキシ、基本的な動きであると負荷分散は、フロントエンドサーバークラスタの分離後に使用されます。
つまり、要求のバランスをとるプロキシサーバーの負荷を均等化サーバーに配布受信し、
質問2:負荷分散の原則
質問3:いくつかの一般的な方法で負荷分散?いくつかの戦略
1、ポーリング(デフォルト)
2、ポーリングの確率を指定し、アクセス速度は重量に比例する量(重量)、ムラバックエンドサーバのパフォーマンス
状況。
上流backserver {
サーバ192.168.0.14量= 3。
サーバ192.168.0.15量= 7。
}
上記の例で、それぞれ30%、70%、でアクセスされる確率も大きく、重量が高いです。
しかし、ユーザーがサーバーにログインしている場合、負荷分散システムでは、上述した問題があり、我々は、負荷分散システムを、すべての要求をサーバに再配置されますされているので、利用者は、第二の時間を要求しますクラスター1は、その後、ユーザーが1台のサーバーにログインしてから別のサーバーに移転した、自分のログイン情報が失われます、これは明らかに不適切です。
3、ip_hash:アクセスへの各訪問者の固定バックエンドサーバは、セッションの問題を解決できるように、ハッシュ結果のアクセスIPによって各要求を割り当てます。
4、url_hash:
図5に示すように、フェア(第三者):バックエンドサーバーへの割り当て要求、短い応答時間優先割り当ての応答時間に応じ。
質問4:(nginxのデフォルトのポーリング方法は、この問題を持っているので)セッションが行う方法を同期していませんか?
我々は、顧客が、サーバーを訪問したユーザーが再びアクセスしたときに、要求が自動的にサーバを見つけるために、ハッシュアルゴリズムを介して行われている場合、この問題を解決するためにip_hash命令を使用することができます。これは、アクセスするすべての訪問者のセッションの問題を解決することができ、バックエンドサーバ固定されています。
その他の方法:共有セッションを達成するためにキャッシュにspring_session + Redisの、セッションを使用することです