問題タブ [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 に答える
7369 参照

java - Netflix Feign を使用してデータ ストリームを渡す

職場では、Netflix のFeign Clientを使用してサービス間のリクエストを処理しています。しかし、特に Netflix のよく知られているビデオ ストリーミングのビジネス モデルを考えると、データをストリーミングする能力が明らかに欠如していることに私は戸惑っています。ここで明らかに何かが欠けています。

説明するために、データのストリームをService AFeign Client に要求し、応答でストリームを送信するとします。この時点で、Feign Client のメソッドが呼び出されます。Service BService Bexecute()

ラベルの付いた行PROBLEMは、私を混乱させるものです。

  1. オブジェクトには、request読み取るストリームの種類さえありませんbyte[] body。.
  2. 送信側では、本体全体が一度に書き込まれOutputStreamます。代わりにデータをチャンクするべきではありませんか?

例えば

リクエストに だけbyte[] bodyではなくストリームが含まれていた場合は、それをさらに改善して、データが利用可能になったときにデータを送信できます。

私は、このサービス アーキテクチャの分野に非常に慣れていません。私は何が欠けていますか?

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

spring-cloud - Feign/Ribbon/Eureka を使用した spring-cloud - サービス インスタンスを検出できない

私の偽のクライアントは現在、Eureka を使用してサービス インスタンスを検出できません。私の構成には、次の注釈が含まれています。

次の依存関係を含めました (spring-cloud 1.0.0-BUILD-SNAPSHOT):

私が知る限り、偽のクライアントは a を使用するため、使用可能なサービス インスタンスのアドレスを構成ファイル (プロパティ)ConfigurationBasedServerListで明示的に指定する必要があります。ribbon.serverList

ただし、明示的に指定すると、すべてが正常に機能します。

私のテスト アプリケーションは、Eureka 対応のリボン実装を使用するように自動的に構成された Spring RestTemplate ベースのクライアントも使用します。奇妙なことは、RestTemplate が最初に呼び出された場合、Feign クライアントが正常に動作している (つまり、サービス インスタンスを見つけている) ことです。RestTemplate セットアップは、どこかでいくつかの (静的) 初期化を実行するように見えます。これは、偽のクライアントに役立ちます。

Feign サポートの設定方法に何か見落としがありますか?

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

java - Spring Cloud: リボンなしで Feign を使用する方法

クライアント側のロードバランサ リボンなしで Feign を使用したいと考えています。これは、分散して高可用性を実現する必要がある Eureka を実行したくないためです。代わりに、Route53 によって管理される内部 DNS 名を持つ内部 ELB は問題なく機能します。

プレーンな URL を@FeignClient常にに提供するno loadbalancer found for ..と .

Spring Cloud Netflix には が付属しており、 fromが存在FeignRibbonClientする場合に使用されます。ただし、この依存関係が除外されている場合は壊れています。ILoadBalancerribbon-loadbalancerFeignConfiguration

アイデア歓迎 :-)

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

spring-cloud - スプリング クラウドでの hystrix フォールバックに関する問題

スプリング クラウドで HystrixCommand を使用してフォールバックしようとすると、メソッド プロキシが機能しません。メソッドでスローされた例外は、hystrix コマンド アスペクトによってキャッチされません。

Spring Cloud Hystrix 統合でこの問題に直面しています。spring cloud 1.0.0.RC2 リリースを使用しています。問題を再現するためのサンプル プロジェクトを次に示します。

これは、ライブラリの使用方法に問題がありますか?

https://github.com/thekalinga/hystrix-fallback.git

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

java - リボン/eureka で使用すると、クライアント エラーを偽装する

以下は、上記のクラスのテストです。

TestNG を使用してテストを実行すると、次のエラーがスローされます。

com.netflix.client.ClientException: ロード バランサーにクライアント用の使用可能なサーバーがありません: abc-service

Eureka サーバーは構成サーバーを見つけるように構成されています。 application.ymleureka サーバーの構成は次のとおりです。

構成サーバー、eureka サーバー、および abc-service は、上記のテストを実行する前に、Spring Boot アプリとして実行されます。abc-service は、起動時に自分自身を Eureka に登録します。

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

spring-cloud - Spring Cloud Feign クライアントは、異なるインスタンスの異なるコンテキスト ルートに接続しません

私は、Eureka を使用した Spring クラウドと、リボンを使用した Feign クライアントを評価している最中です。私が作成してきたサンプル アプリケーションには、クライアントを問題なく受信する Eureka Server があります。

ただし、FeignClient を使用する場合、RequestMapping にはコンテキスト パスを含める必要があります。

私の最初のケースでは、同じ VIP で ID が異なる 2 つのサービスがありました。- localhost:8080/ の 1 つのサービス - localhost:7400/HelloWorld の 1 つのサービス

異なるコンテキスト ルートの理由は、簡単に変更できない展開構造の可能性があるためです。

これは、クライアント内で構成する必要があるものですか? またはアプリケーションまたはこれは不可能ですか?

これが私の@FeignClientです

理想的には、RequestMapping は値「/」のみです。

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

spring-cloud - Spring Cloud Feign クライアントは Spring Web Controller とインターフェースを共有できますか?

Spring MVC と Feign Client (Spring Cloud を使用) を使用してエンドポイントとクライアントを構築します。私は、両端に同じ注釈が必要であり、それらがほぼ同期している必要があると考えていました。多分私はそれらをインターフェースで定義し、両端にそれを実装させることができます。

テストしてみると、Spring Web エンドで実際に機能することに少し驚きました。

しかし、Feign クライアントに対して同じことを行う方法を見つけることができません。

私は基本的にインターフェースを持っています:

そして、RestController

そして最後に Feign Client

Feign クライアントは、継承された注釈を読み取っていないようです。同じことを達成できる他の方法はありますか?直接注釈を付けずに、ServiceInterface を Feign クライアントにすることができる場所はどこですか?

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

java - Feign で @RequestLine を使用する

次のように定義された動作中の Feign インターフェイスがあります。

これを @RequestLine を使用するように変更すると

私は例外を取得します

原因: java.lang.IllegalStateException: メソッド getLinksForTrack に HTTP メソッド タイプのアノテーションが付けられていません (例: GET、POST)

理由はありますか?

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

spring-cloud - Spring Cloud と Netflix の Eureka と Feign を使用するマイクロサービスを保護する

私は、Spring Cloud と Netflix のスタック、特に Eureka と Feign を使用して、マイクロサービスを構築および実装するための最良の方法を見つけようとしています。それぞれについて、セキュリティ関連の質問がいくつかあります。

  1. ユーザー名/パスワード資格情報を使用して Eureka Server を構成できることがわかりました。これにより、許可されていないアプリを排除できますが、各アプリは Eureka にアクセスするための資格情報を共有する必要があります。各マイクロサービスが独自のものを持つことができるように、資格情報のレジストリを作成する簡単な方法はありますか? (Spring Security のスタックなどにフックすると便利UserDetailServiceです)

  2. マイクロサービスが接続され、偽物を介して通信すると、元の要求で使用された資格情報を、他のマイクロサービスに対して行われる追加の呼び出しに共有/渡すことができますか? したがって、"Jim" がFooServiceで要求/foosし、FooServiceが BarService で要求した場合、 BarServiceは Jim がそれらを要求したことを認識しますか?/bars

Jim > FooService > BarService - BarService は、要求が Jim のために処理されていることを認識しています...

0 投票する
4 に答える
30525 参照

java - 別のプロジェクトから FeignClient を注入する際のエラー

別のプロジェクトから偽のクライアントを自動配線するのに問題があります。偽のクライアントの実装が生成および注入されていないようです。

これは私が得ているエラーです。

偽のクライアントは非常に単純です。簡潔にするためにインポートを削除しました。

コンポーネントスキャンをプロジェクトに追加して、アプリケーションとそのコントローラーを含め、他のプロジェクトに偽のクライアントを含めました。

簡潔にするためにほとんどのインポートが削除された残りのコントローラー。

さまざまなプロジェクトやさまざまなパッケージで偽のクライアント インターフェイスを定義しようとしましたが、アプリケーションと同じパッケージに配置した場合にのみ成功しました。これは、スキャンにパッケージを含めているにもかかわらず、コンポーネント スキャンの問題であると思われます。再利用可能な「コントラクト」を定義し、それを使用するアプリケーションで偽のクライアントを定義する代わりに、各プロジェクトに一意のパッケージ構造を持たせるために、偽のクライアントインターフェイスを共有プロジェクトに保持したいと思います。

ありがとう、ウェス。