dubboのフォールトトレランスモード
2428 ワード
dubboのフォールトトレランスモード dubboは、 のクラスタフォールトトレランスモードを提供する.
を選択します.
機能
適用シーン
使用方法
Failover
既定値.他のサーバへの自動切り替えに失敗しました
読み取り操作またはべき乗などの操作に適用
例:retries="2"
Failfast
1回の呼び出しのみが開始され、失敗したらすぐにエラーが発生します.
新しいレコードなど、べき乗以外の操作に適用されます.
Failsafe
無視失敗
監査ログの書き込みなどの操作に使用
Failback
失敗自動リカバリ、バックグラウンド記録失敗リクエスト、タイミング再送
通常はメッセージ通知操作に使用されます
Forking
複数のサーバが並列に呼び出され、1つが成功すれば返されます.
リアルタイム性が要求される読み取り操作
例えば、forks="2"で最大並列数を設定する
Broadcast
ブロードキャストはすべてのプロバイダを呼び出し、1つずつ呼び出し、任意の1台がエラーを報告します.
すべてのプロバイダにキャッシュまたはログの更新を通知するために使用
例:
拡張:Dubbo内蔵で提供されたいくつかのクラスタフォールトトレランスモードがアプリケーションのニーズを満たすことができないと感じたら、自分のクラスタフォールトトレランスモードをカスタマイズして実現することができ、インタフェースcomを実現するだけである.alibaba.dubbo.rpc.cluster.Clusterでいいです.インタフェースの定義は次のとおりです.
.
を選択します.
機能
適用シーン
使用方法
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;
}
.