ホームページ  >  記事  >  バックエンド開発  >  Ubuntu1404 では、Tomcat8+Nginx+memcache によりサーバー クラスター セッション共有が構成されます

Ubuntu1404 では、Tomcat8+Nginx+memcache によりサーバー クラスター セッション共有が構成されます

WBOY
WBOYオリジナル
2016-07-29 09:15:391005ブラウズ

前に構成された Tomcat クラスターは、Tomcat が提供する単純なクラスター管理メソッドを使用します: このクラスター セッションのコントリビューションは org.apache.catalina を使用します。 ha.session.DeltaManager は、特定のノードのセッションをクラスター内のすべてのノードにコピーします。Tomcat の公式ドキュメントによると、このセッション共有方法はクラスターが大きくなるとうまく機能しません。そこで、memcached を使用してクラスターにセッションを共有させてみました。

設定リファレンス ドキュメントには次のものが含まれます。 クリックしてリンクを開くと、Tomcat に一致する jar パッケージと Tomcat の設定方法が見つかります。私の設定プロセスを以下に記録してみましょう。

1. 前のブログの内容に従って Nginx リバース プロキシを設定します。

2. ubuntu に memcache をインストールします。

次のコマンドを使用して、/etc/memcached を編集します。 conf ファイル:

このファイルには各パラメータの設定が含まれています。memcache がデフォルトですべてのアドレスをリッスンするため、ここの -l パラメータをコメントアウトするか、memcache がデフォルトのアドレスをリッスンできるように 127.0.0.1 を 0.0.0.0 に変更します。

これを行わないと、このマシンでのみ memcached を使用でき、他のマシンが接続できなければ意味がありません。

構成後、次のコマンドを使用して、memcache に接続できるかどうかを確認できます。ここで、ip は memcache ホストにインストールされている IP アドレス、11211 は memcache のリスニング ポートです。

sudo apt-get install memcached

4. すべての Tomcat ノードで CATALINA_HOME/conf/context.xml ファイルを編集し、 タグの下に次の設定を追加します。

telnet ip 11211
memcachedNodes は、memcache が構成およびインストールされているノードです。cloud2 と cloud3 は、マシンによって認識される必要があります。11211 は、memcache がリッスンするポートです。 11211 がデフォルトのポートです。

5. いくつかの jar パッケージを CATALINA_HOME/lib に追加します

ここで使用するパッケージは次のとおりです:

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
        memcachedNodes="n1:cloud2:11211,n2:cloud3:11211"
        sticky="false"
        sessi
        lockingMode="auto"
        requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
/>

6. 次に、テストのために Tomcat と nginx を起動します

ここでの私のテストのアイデアは次のとおりです。コードを使用してサーブレットを作成し、それを 2 つの Tomcat サーバーにデプロイします。サーバーの 1 つだけを起動し、ブラウザーを介して負荷分散サーバーにアクセスします。この時点でブラウザー上で SessionID を表示し、書き留めることができます。次に、このサーバーを閉じ、別の Tomcat サーバーを起動し、同じアドレスを使用して負荷分散サーバーにアクセスし、ブラウザーで SessionID を確認します。SessionID が 2 回同じである場合は、SessionID が共有されていることを意味します。

memcached-session-manager-1.8.3.jar
memcached-session-manager-tc8-1.8.3.jar
spymemcached-2.11.1.jar

効率的な​​シリアル化構成など、ここでできることやまだできていない作業がたくさんあります。今後時間があるときに実行します。


著作権声明: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

上記は、Ubuntu1404、Tomcat8+Nginx+memcache でのサーバー クラスター セッション共有の構成を紹介しており、その内容も PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。