問題タブ [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.

0 投票する
1 に答える
4903 参照

spring-cloud - 春の雲 + リボン + フェイン + ズール + エウレカ

リボンを介してマイクロ サービスの負荷を分散する方法 (偽りではありません)。「M1」、「M2」、「M2_duplication」の 3 つのマイクロ サービスがあり、「M1」は偽装を介して「M2」と通信しています。「M2」のトラフィックが多すぎる場合、リクエストは「M2_duplication」に転送されます。@ribbonclient を介してこれはどのように可能ですか?

POM M1:

M1 での偽の呼び出し:

アプリケーション M1:

0 投票する
1 に答える
484 参照

spring - Feign と Hystrix を使用したエッジでの TimeoutException

Netflix マイクロサービス API を使用してトレーニング アプリを構築しています。

これは、localhost:9999 か​​ら始まる私のエッジです。

次の 2 つのアプリを定義しました。

app-a単純な Web サービスservice-aを公開し、localhost:8081 で開始し ますを呼び出すapp-bWeb サービスを公開し、 localhost:8082 で開始しますservice-bservice-a

service-bservice-aNetflix Feign を使用した通話:

app-aとが実行されている間app-b、すべてのサービスが期待どおりに応答します。

がダウンしている場合は、フォールバックAppAFallbackを呼び出す必要がありapp-bます。ただし、発生するまでに約1分ほど待つ必要があります。

がダウンした直後app-b:

そして1分後app-bダウンです:

そして、これは私が期待した結果です。app-a/service-a直後の呼び出しapp-bがダウンしている理由について、タイムアウトが発生する理由について何か考えはありますか?

よろしくお願いします。

0 投票する
3 に答える
8881 参照

spring - Netflix の Feign ライブラリで作成された HTTP リクエストを Java Spring アプリでキャッシュする方法

Netflix の Feign を使用して HTTP リクエストをサービスに送信するスプリング ブート アプリケーションで、これらのキャッシュされた値を自動的にキャッシュして返す簡単な方法はありますか? キャッシュは、リクエストに渡されたパラメーターに基づいている必要があります (関数を X 分間メモ化するのと同様)。

@Cache以下の注釈のようなものを探しています。

もちろん、 の周りにデコレータを使用して自分でキャッシュすることもできFacebookClientましたが、より迅速で少ないコードの方法があるかどうか疑問に思っていました。

0 投票する
1 に答える
7712 参照

java - Netflix Feign: 404 の ErrorDecoder で応答本文が空になる

カスタム ErrorDecoder を実装しました。

これで達成したいことWebShopErrorDecoderは、エラー応答を転送することです。私の問題は、応答ステータスが 404 の場合、ErrorResourceerrorが null であることです。

たとえば、返された応答ステータスを 400 に変更すると、エラー リソースに応答が含まれます。

消費されたサービスをブラウザから直接リクエストすると、レスポンス ステータスが 404 のレスポンス ボディが表示されます。

サービスが 404 を返すときに偽のリクエストのレスポンス本文が空になるのはなぜですか? レスポンスボディを取得する方法はありますか?

ふりをし始めたばかりなので、質問が不明な場合はお知らせください。何が欠けているのかを明確にしようとします。

前もって感謝します!

0 投票する
0 に答える
1773 参照

java - Spring Cloud: Eureka に登録せずに Feign を使用する方法

私は eureka サーバーといくつかのサービスを持っています。それらは eureka に登録し、Feign を使用して相互に通信します。

このようなサービスはすべて、組み込みの tomcat コンテナーにデプロイされます。また、スケジュールによってデーモンとして実行されるサービスがいくつかあります。それらは tomcat コンテナーに入れるべきではありませんが、一部のサービスからデータを取得するために Feign を使用する必要もあります。

例として、1 日に 1 回実行され、REST によって別のサービスから取得したデータをチェックする監視があります。その監視は、入力用の API がないため、eureka に登録する必要はありません。

@EnableFeignClientsなしで入れる@EnableEurekaClientとうまくいきませんが、これらの両方のアノテーションを入れると、サービスが tomcat にデプロイされます。

どうすればTomcatコンテナなしでそれを行うことができますか?

0 投票する
0 に答える
2585 参照

hystrix - HystrixFeign クライアントを構成するにはどうすればよいですか?

Spring Boot アプリを持っていますが、マルチパートがサポートされていないため、@EnableFeignClient を利用できません。( Multipart パラメーターを使用して Spring Feign クライアントを生成できますか? を参照してください)。

ビルダーを使用して独自の HystrixFeign クライアントを作成しています。

Hystrix の他のプロパティを構成するにはどうすればよいですか? 実行分離戦略、サーキット ブレーカーのスリープ ウィンドウ、ボリュームしきい値、エラーしきい値のパーセンテージを設定したいですか?

それらを application.properties ファイルに含めるだけで十分ですか? これらのプロパティが「uploadMedia」エンドポイントに適用されていることを確認するにはどうすればよいですか?

0 投票する
2 に答える
6102 参照

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 統合に使用できるものが見つかりませんでした

0 投票する
2 に答える
945 参照

mocking - 偽のクライアントのモック実装は自動配線されません

春のプロジェクトをテストしたい。テストクラスで偽のクライアントをモックする必要がありますが、通常の実装はモック実装ではなく自動配線されます。これが私のコードのトップです。助けてください。

}

ここに私のテストクラスがあります:

0 投票する
7 に答える
77016 参照

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:

誰でもこれを解決する方法を知っていますか?

ありがとう。