dubboのフォールトトレランスモード

2428 ワード

dubboのフォールトトレランスモード
  • dubboは、
  • のクラスタフォールトトレランスモードを提供する.
    を選択します.
    機能
    適用シーン
    使用方法
    Failover
    既定値.他のサーバへの自動切り替えに失敗しました
    読み取り操作またはべき乗などの操作に適用
    例:retries="2"
    Failfast
    1回の呼び出しのみが開始され、失敗したらすぐにエラーが発生します.
    新しいレコードなど、べき乗以外の操作に適用されます.
    Failsafe
    無視失敗
    監査ログの書き込みなどの操作に使用
    Failback
    失敗自動リカバリ、バックグラウンド記録失敗リクエスト、タイミング再送
    通常はメッセージ通知操作に使用されます
    Forking
    複数のサーバが並列に呼び出され、1つが成功すれば返されます.
    リアルタイム性が要求される読み取り操作
    例えば、forks="2"で最大並列数を設定する
    Broadcast
    ブロードキャストはすべてのプロバイダを呼び出し、1つずつ呼び出し、任意の1台がエラーを報告します.
    すべてのプロバイダにキャッシュまたはログの更新を通知するために使用
    例:
    "org.xx.xx.xx.XXService" version="1.0.0"
         cluster="failover" retries="2" timeout="100" ref="XXCounterService" protocol="dubbo" >
         name="querUserCount" timeout="80" retries="2" />
    

    拡張:Dubbo内蔵で提供されたいくつかのクラスタフォールトトレランスモードがアプリケーションのニーズを満たすことができないと感じたら、自分のクラスタフォールトトレランスモードをカスタマイズして実現することができ、インタフェースcomを実現するだけである.alibaba.dubbo.rpc.cluster.Clusterでいいです.インタフェースの定義は次のとおりです.
    @SPI(FailoverCluster.NAME)
    public interface Cluster {
    
        /**
         * Merge the directory invokers to a virtual invoker.
         * @param 
         * @param directory
         * @return cluster invoker
         * @throws RpcException
         */
        @Adaptive
         Invoker join(Directory directory) throws RpcException;
    
    }

    .