問題タブ [netflix-feign]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-cloud - 春の雲 + リボン + フェイン + ズール + エウレカ
リボンを介してマイクロ サービスの負荷を分散する方法 (偽りではありません)。「M1」、「M2」、「M2_duplication」の 3 つのマイクロ サービスがあり、「M1」は偽装を介して「M2」と通信しています。「M2」のトラフィックが多すぎる場合、リクエストは「M2_duplication」に転送されます。@ribbonclient を介してこれはどのように可能ですか?
POM M1:
M1 での偽の呼び出し:
アプリケーション M1:
spring - Feign と Hystrix を使用したエッジでの TimeoutException
Netflix マイクロサービス API を使用してトレーニング アプリを構築しています。
これは、localhost:9999 から始まる私のエッジです。
次の 2 つのアプリを定義しました。
app-a
単純な Web サービスservice-a
を公開し、localhost:8081 で開始し
ますを呼び出すapp-b
Web サービスを公開し、 localhost:8082 で開始しますservice-b
service-a
service-b
service-a
Netflix Feign を使用した通話:
app-a
とが実行されている間app-b
、すべてのサービスが期待どおりに応答します。
- http://localhost:8081/service-a
- http://localhost:8082/service-b
- http://localhost:9999/app-a/service-a (エッジ経由)
- http://localhost:9999/app-b/service-b (エッジ経由)
がダウンしている場合は、フォールバックAppAFallback
を呼び出す必要がありapp-b
ます。ただし、発生するまでに約1分ほど待つ必要があります。
がダウンした直後app-b
:
- http://localhost:8081/service-aはうまく機能し、フォールバックが呼び出されます
- http://localhost:8082/service-bに到達できません
- http://localhost:9999/app-a/service-aタイムアウト:
HystrixRuntimeException: app-a timed-out and no fallback available.
- http://localhost:9999/app-b/service-bタイムアウト:
HystrixRuntimeException: app-b timed-out and no fallback available.
そして1分後app-b
ダウンです:
- http://localhost:8081/service-aはうまく機能し、フォールバックが呼び出されます
- http://localhost:8082/service-bに到達できません
- http://localhost:9999/app-a/service-aはうまく機能し、フォールバックが呼び出されます
- http://localhost:9999/app-b/service-b GENERAL : ロード バランサーにクライアント用のサーバーがありません:
app-b
そして、これは私が期待した結果です。app-a/service-a
直後の呼び出しapp-b
がダウンしている理由について、タイムアウトが発生する理由について何か考えはありますか?
よろしくお願いします。
spring - Netflix の Feign ライブラリで作成された HTTP リクエストを Java Spring アプリでキャッシュする方法
Netflix の Feign を使用して HTTP リクエストをサービスに送信するスプリング ブート アプリケーションで、これらのキャッシュされた値を自動的にキャッシュして返す簡単な方法はありますか? キャッシュは、リクエストに渡されたパラメーターに基づいている必要があります (関数を X 分間メモ化するのと同様)。
@Cache
以下の注釈のようなものを探しています。
もちろん、 の周りにデコレータを使用して自分でキャッシュすることもできFacebookClient
ましたが、より迅速で少ないコードの方法があるかどうか疑問に思っていました。
java - Netflix Feign: 404 の ErrorDecoder で応答本文が空になる
カスタム ErrorDecoder を実装しました。
これで達成したいことWebShopErrorDecoder
は、エラー応答を転送することです。私の問題は、応答ステータスが 404 の場合、ErrorResourceerror
が null であることです。
たとえば、返された応答ステータスを 400 に変更すると、エラー リソースに応答が含まれます。
消費されたサービスをブラウザから直接リクエストすると、レスポンス ステータスが 404 のレスポンス ボディが表示されます。
サービスが 404 を返すときに偽のリクエストのレスポンス本文が空になるのはなぜですか? レスポンスボディを取得する方法はありますか?
ふりをし始めたばかりなので、質問が不明な場合はお知らせください。何が欠けているのかを明確にしようとします。
前もって感謝します!
java - Spring Cloud: Eureka に登録せずに Feign を使用する方法
私は eureka サーバーといくつかのサービスを持っています。それらは eureka に登録し、Feign を使用して相互に通信します。
このようなサービスはすべて、組み込みの tomcat コンテナーにデプロイされます。また、スケジュールによってデーモンとして実行されるサービスがいくつかあります。それらは tomcat コンテナーに入れるべきではありませんが、一部のサービスからデータを取得するために Feign を使用する必要もあります。
例として、1 日に 1 回実行され、REST によって別のサービスから取得したデータをチェックする監視があります。その監視は、入力用の API がないため、eureka に登録する必要はありません。
@EnableFeignClients
なしで入れる@EnableEurekaClient
とうまくいきませんが、これらの両方のアノテーションを入れると、サービスが tomcat にデプロイされます。
どうすればTomcatコンテナなしでそれを行うことができますか?
hystrix - HystrixFeign クライアントを構成するにはどうすればよいですか?
Spring Boot アプリを持っていますが、マルチパートがサポートされていないため、@EnableFeignClient を利用できません。( Multipart パラメーターを使用して Spring Feign クライアントを生成できますか? を参照してください)。
ビルダーを使用して独自の HystrixFeign クライアントを作成しています。
Hystrix の他のプロパティを構成するにはどうすればよいですか? 実行分離戦略、サーキット ブレーカーのスリープ ウィンドウ、ボリュームしきい値、エラーしきい値のパーセンテージを設定したいですか?
それらを application.properties ファイルに含めるだけで十分ですか? これらのプロパティが「uploadMedia」エンドポイントに適用されていることを確認するにはどうすればよいですか?
java - Feign: 応答ステータスに応じて再試行
現在、Spring Cloud と Feign を使用して、アプリケーションでマイクロサービスを使用しています。単一のサービス インスタンスでデータベース接続などが失敗し、500 HTTP ステータス コードが返されることがあり得るので、次のサーバーがサービスのクライアントによって再試行されることを確認したいと思います。現在、サービスがまったく実行されていない場合、リボンの再試行メカニズムは魅力的に機能しますが、500 ステータス コードを受信すると、再試行なしで即座にエラーを返します。
インスタンスが 500 応答を返した場合、次のサーバーを再試行するように Feign クライアントまたはその基盤となるリボン ロード バランサーを構成することはできますか?
構成は、このスレッドとほとんど同じです: Feign の再試行には何らかの構成が必要ですか?
リボンの HttpResponseValidator ( https://github.com/Netflix/ribbon/blob/master/ribbon/src/main/java/com/netflix/ribbon/http/HttpResponseValidator.java )のような実装を使用したいのですが、 Spring Cloud とその Feign/Ribbon 統合に使用できるものが見つかりませんでした
mocking - 偽のクライアントのモック実装は自動配線されません
春のプロジェクトをテストしたい。テストクラスで偽のクライアントをモックする必要がありますが、通常の実装はモック実装ではなく自動配線されます。これが私のコードのトップです。助けてください。
}
ここに私のテストクラスがあります:
java - タイムアウト FeignClient の解決方法
を使用して SQL Server でクエリを実行するサービスを使用すると、アプリケーションで以下のエラーが発生しますFeignClient
。
エラー:
スレッド「pool-10-thread-14」での例外 feign.RetryableException: GET の実行中に読み取りがタイムアウトしました http://127.0.0.1:8876/processoData/search/buscaProcessoPorCliente?cliente=ELEKTRO+-+TRABALHISTA&estado=SP
私の消費者サービス:
私のYML:
誰でもこれを解決する方法を知っていますか?
ありがとう。