7

django を利用した私のサイトは、Apache ベースのロードバランサーの背後にあります。静的ファイル要求を処理するサーバーもありますが、それは簡単です。

気になるのは、ロードバランサーによって任意のアプリケーション サーバーにスローされる可能性があるユーザーをどのように処理するかということです。それらはすべて同じ DB クラスターを共有しているため (スマートですか? それとも、ここでも分離する必要がありますか?)、私が気にする必要があるのはセッションだけです。

現在、セッションはパフォーマンスのためにメモリに保存されています。私はそれらをそのままにしておきたいので、同じユーザーが常に同じアプリサーバーにアクセスするようにする必要があります。

いくつかの簡単な解決策が思い浮かびました。

1) IP ベースにする。たとえば、奇数の IP 番号がサーバーAにヒットし、偶数の IP 番号がB. しかし、ユーザーがプロキシの背後にいる場合や、IP が頻繁に変更される場合はどうでしょうか?

2) リクエストが負荷分散サーバーに到達すると、Cookie をチェックして、どのサーバーがそれを処理するかを確認できます。それは可能ですか/意味がありますか?

3) を使用した J2EE ソリューションmod_proxy_ajpがそのような状況を処理することは知っていますが、舞台裏で何が起こっているのかはわかりませんでした。そこから何かを Django に使用できますか?

または、そのために Django をクラスタ化する他の方法があるのでしょうか?

4

1 に答える 1

6

memcached のクラスターを構成し、セッション ストレージに使用するように django をセットアップできます

于 2010-09-20T07:53:46.870 に答える