問題タブ [spring-cloud-netflix]

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 に答える
323 参照

java - さまざまな依存関係を呼び出すことができる汎用 HystrixCommand サブクラスを作成できますか?

私はHystrixを初めて使用します。HystrixCommand を使用してラップする必要がある依存関係呼び出しのリストがあります。私が見つけた唯一の可能な方法は、依存関係呼び出しごとに個別の HystricCommand サブクラスを作成し、特定の hystrix クラスの実行メソッド内で依存関係を呼び出すことです。これにより、10 個の依存関係呼び出しをラップする必要がある場合、たとえば 10 個の HystrixCommand サブクラスが作成され、依存関係呼び出しごとに 1 つのクラスが作成されます。

依存関係を呼び出すことができる場所から、10 個の依存関係呼び出しすべてに対して共通の HystrixCommand サブクラスを作成する方法はありますか?

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

cookies - Spring Cloud Zuul は Cookie を転送しません

Spring Cloud Zuul プロキシの問題に直面しています。2 つのマイクロサービスを構成し、稼働させています。Web ブラウザに Cookie があり、Zuul を API ゲートウェイとして使用しています。Zuul を押してバックエンドを呼び出すと、Zuul は Cookie をバックエンドに転送しません。Zuul は送信された Cookie を無視しているようで、バックエンドはこれを取得できません。

この問題について教えてください。Spring cloud Brixton.RELEASE と spring boot 1.3.5 を使用しています。

よろしく。

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

spring-boot - Spring Boot SSO + zuul 内で OAuth トークンからスコープを取得する方法

Spring Boot SSO + Zuul を使用して単純な API ゲートウェイを作成しようとしています。ヘッダーに基づいて RBAC を実行するために、OAuth スコープを他のバックエンド サービスでさらに使用されるヘッダーに変換する必要があります。

バックエンドに送信する前に基本的にヘッダーを設定するこの CustomOAuth2TokenRelayFilter を使用しています。私の問題は、現在のトークンからスコープを取得する方法です。クラス OAuth2AuthenticationDetails はトークン値を提供しますが、スコープは提供しません。

そこにあるスコープを取得する方法がわかりません。

以下は、主に https://github.com/spring-cloud/spring-cloud-security/blob/master/spring-cloud-security/src/main/java/org/springframework/cloudから取得したカスタム Zuul フィルターです。 /security/oauth2/proxy/OAuth2TokenRelayFilter.java

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

netflix-zuul - 春の雲 Brixton.RELEASE zuul

私はSpring Cloudの新人で、私のプロジェクト(Spring Bootでビルドされたマイクロサービスプロジェクト)で、Spring CloudバージョンのBrixton.RC2を使用しましたが、うまくいきました。しかし、そのバージョンを Brixton.RELEASE にアップグレードしようとすると、プロジェクトは zuul で動作しません (Web マイクロサービスに直接アクセスすると動作しますが、zuul を介してアクセスすると動作しません)、何も変更しませんでした構成中。Mavenの依存関係は次のとおりです。

誰でも私のプロジェクトで何が問題なのかを特定できますか?

よろしくお願いします!!

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

spring-security - ゲートウェイで zuul.routes が構成されているときにインターセプターが呼び出されない

bootstrap.properties でzuulルートを構成すると、gareway アプリケーションで定義された TestHandlerInterceptor が/registrationsに一致するすべての要求に対して呼び出されませんが、他のすべての要求に対して呼び出されます TestHandlerInterceptor.preHandle は正常に処理されています

ブートストラップ.プロパティ

TestHandlerInterceptor.java

GatewayApplication.java

TestHandlerInterceptor.preHandle は localhost:1122/api/test に対して実行されますが、localhost:1122/registrations に対して呼び出されません

サブリソースが要求される前に、(API キーを使用して) すべてのステートレス認証を実行するインターセプターに AuthenticationService を追加しようとしています。

ZuulFilter の実装を試してみましたが、MyZuulFilter.run() はすべての localhost:1122/registrations 要求に対して呼び出されますが、localhost:1122/api/test に対しては呼び出されません

何よりも先に実行されるようにインターセプターを構成するにはどうすればよいですか

pom.xml

ありがとうラヴィ

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

spring - HATEOASによる他サービスへのリンク

Spring Cloud Netflix、Spring Data JPA、および Spring Data REST を使用してマイクロサービスを構築しています。

サービスの応答は REST-HATEOAS 形式です。応答に他のマイクロサービスへのリンクを自動的に追加する方法はありますか?

たとえば、Team と Player という 2 つのマイクロサービスがあるとします。チームをリクエストするときに、プレーヤーへのリンク (つまり、プレーヤー サービスへのリンク) を追加する (簡単な) 方法はありますか?

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 投票する
1 に答える
5020 参照

java - Spring クラウドの Zuul サーバーでのフォールバック メソッド

私は Spring Cloud Netflix を初めて使用し、それに関していくつか質問があります。
Zuul エッジ サーバーで実行されている Hystrix と共に API Gateway を使用しています。次の動作を正しく理解しているかどうかを確認したいと思います。

API Gateway の「背後」で実行されているマイクロサービスを強制終了してから、hystrix に強制的に回路を開放させます。その後 (約 10 秒)、実行されていないマイクロサービスにリクエストを送信し、タイムアウト エラーを受け取ります。ただし、非常に短い時間 (最大 1 秒) に多数 (数十) の要求を送信すると、SHORTCIRCUIT OPEN エラーが発生します。
回線が開いているのに TIMEOUT エラーが発生する理由に驚きました。しかし、その理由は、最後のリクエストからの時間が circuitBreaker.sleepWindowInMilliseconds を超える場合、API ゲートウェイがマイクロサービスに再度接続して、生きているかどうかを確認しようとしましたが、そうではなかったため、タイムアウトになったためだと思います。それは、短時間に多くのリクエストでSHORTCIRCUIT OPENエラーが発生した理由も説明します。

次のことは、「TIMEOUT」または「SHORTCIRCUIT」エラーを受け取ると、次のようになります。

この例外を回避するために、zuul サーバー (これはすべてのルートで同じである可能性があります) でフォールバックを指定するにはどうすればよいですか?
私が今まで試したこと:

  • これによると、タイムアウトを回避するために、実行分離戦略を THREAD に設定します。

    hystrix: command.default.execution.isolation.strategy: スレッド

しかし、私が得たhystrix.streamを見た後propertyValue_executionIsolationStrategy":"SEMAPHORE"

  • カスタム RibbonCommand を記述して getFallback() をオーバーライドすることで、 githubに解決策のヒントがあるようですが、 RibbonCommandインターフェイスを見た後です。RibbonCommand もそのスーパー インターフェイスもそのようなメソッドを定義していないことがわかりました。

私のAPIゲートウェイサービス:

アプリケーション.yml