Spring Cloud Zuulモジュール自体には、Hystrixとリボンの依存関係が含まれています。 Zuulを使用して、パスとServiceIDの組み合わせを介してルートを構成する場合、Hystrixとリボンの構成を介してルーティングリクエストのさまざまなタイムアウトメカニズムを調整できます。
1リボン構成の例
接続タイムアウト時間の1秒、リクエスト処理時間の2秒、統一サービスサーバーは1回再接続しようとし、サーバーを切り替えて1回再接続します
リボン:ConnectTimeOut:1000 ReadTimeout:2000 Maxautoretries:1 MaxautoretriesNextServer:1
Hystirx構成の2つの例
Hystrix:コマンド:デフォルト:実行:分離:スレッド:TimeoutinMilliseConds:60000
ここでは、Hystrixの構成時間は、リボンのすべての再試行時間の合計よりも大きくなければならないことに注意する必要があります。最初のリクエストを含む上記の2つの再試行を構成しましたが、3回は6秒です。
公式マスターからの説明を引用します
リボンクライアントをラップするHystrixコマンドを使用する場合、Hystrixタイムアウトが構成されたリボンタイムアウトよりも長く構成されていることを確認する必要があります。
行われる可能性のある再試行。たとえば、リボン接続タイムアウトが1秒で、
リボンクライアントは、Hystrixのタイムアウトよりも3回リクエストを再試行する可能性があります
3秒以上になります。
3 Zuulの再試行構成を開く:
Zuul:Retryable:True
Zuulの再試行構成に特に注意してください。これには、Retryがスプリングにする必要があります。そうしないと、構成することは役に立ちません。
<Dependency> groupId> org.springframework.retry </groupid> <artifactid> spring-retry </artifactid> </dependency>
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。