0

2 つの Tomcat サーバーでクライアントの要求を分散するように、Apache Web サーバーをセットアップしようとしています。Web サービスには Axis2 を使用します。2 つの Tomcat にデプロイされます。Web サービスを呼び出すと、クラスタが確立されているにもかかわらず、応答するサーバーは常に 1 つだけです。このチュートリアル、Axis2 1.6.1、Tomcat 7、Apache Web Server 2.2 を使用し、Windows 32 ビット システムで実行しています。両方の Tomcat でクライアント要求のバランスをとるにはどうすればよいですか? Web サーバーのプロキシ構成と関係があるかもしれませんが、それは単なる考えです。スクリーンショットなどが必要な場合は、お知らせください。そして、私のドイツ語のアクセントでごめんなさい:)

4

2 に答える 2

1

通常、ロード バランシング (クラスタリング) では、1 つのサーバーが最初に応答します。どのサーバーが構成内のロード バランサー (プロキシ) によって決定されます。通常、ロード バランサー (プロキシ) は、使用頻度の低いサーバーが見つかるまで、クラスター化されたすべてのサーバーにクエリを実行します。クラスター化された環境をテストするには、高負荷をシミュレート (または作成) するか、サーバーの 1 つを「減速」 (または完全に停止) する必要があります。

于 2012-07-24T10:06:09.897 に答える
1

それは今動作します。これは、間違った IP を持つ axis2.xml ファイルの構成の問題でした。今、私はすべてのインスタンスで次の構成を持っています:

    <!-- The host name or IP address of this member -->
    <parameter name="localMemberHost">127.0.0.1</parameter>

Tomcat インスタンスの server.xml ファイルも重要です。ここで、シャットダウン ポートはインスタンスごとに異なる必要があります。

インスタンス 1:

        <Server port="8005" shutdown="SHUTDOWN">

インスタンス 2:

        <Server port="8015" shutdown="SHUTDOWN">

コネクタ ポートも異なる必要があります。

インスタンス 1:

        <!-- Define an AJP 1.3 Connector on port 8009 -->
        <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

インスタンス 2:

        <!-- Define an AJP 1.3 Connector on port 8009 -->
        <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

次に、これらの調整を Apache Web サーバーの httpd.conf ファイルで次のように設定します。

        BalancerMember ajp://127.0.0.1:8009 min=1 max=1 route=node1 loadfactor=1
        BalancerMember ajp://127.0.0.1:8010 min=1 max=1 route=node2 loadfactor=1

そして今、私のクラスターは正常に動作します。何が問題なのかを理解するために、いくつかのステップに戻る必要がある場合があります。

于 2012-07-26T10:53:21.650 に答える