22.3. 静的フェイルオーバーを使用した HA の設定

概要

デフォルトでは、静的フェールオーバーを使用する HA は、クライアントが通信している元のサービスが使用できなくなった場合、または失敗した場合に、レプリカサービスを選択するときにシーケンシャル戦略を使用します。シーケンシャルストラテジーは、使用されるたびに同じシーケンシャル順序でレプリカサービスを選択します。選択は Apache CXF の内部サービスモデルによって決定され、決定論的なフェールオーバーパターンになります。

ランダム戦略の設定

レプリカを選択するときにシーケンシャル戦略の代わりにランダム戦略を使用するように静的フェイルオーバーを使用して HA を設定できます。ランダム戦略では、サービスが使用できなくなるか失敗するたびに、ランダムレプリカサービスが選択されます。クラスター内の存続メンバーからのフェイルオーバーターゲットの選択は完全にランダムです。

ランダム戦略を設定するには、クライアント設定ファイルに 例22.3「静的フェイルオーバーのランダム戦略の設定」 に示す設定を追加します。

例22.3 静的フェイルオーバーのランダム戦略の設定

<beans ...>
    <bean id="Random" class="org.apache.cxf.clustering.RandomStrategy"/>

    <jaxws:client name="{http://apache.org/hello_world_soap_http}Replica3"
                  createdFromAPI="true">
        <jaxws:features>
            <clustering:failover>
                <clustering:strategy>
                    <ref bean="Random"/>
                </clustering:strategy>
            </clustering:failover>
        </jaxws:features>
    </jaxws:client>
</beans>

例22.3「静的フェイルオーバーのランダム戦略の設定」 に示す設定は次のように説明することができます。

ランダムストラテジーを実装する Random bean および実装クラスを定義します。

レプリカを選択するときにランダム戦略が使用されることを指定します。