Menu Close

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 およびランダム手法を実装する実装クラスを定義します。

レプリカを選択する際にランダム手法を使用することを指定します。