問題タブ [spring-cloud]
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.
java - Spring-data は RepositoryMetadata 拡張機能をサポートしていますか?
独自のクエリ API/構文を追加するために、すべてのリポジトリ (JPA モジュール) にカスタム動作を追加しています。実行時に変更できるように、コードを外部化する必要があります (現在、これらはカスタム アノテーションとしてドメイン クラスに追加されています)。
例:
動的な役割/列セキュリティ マトリックスを設定することによるデータ セキュリティ (役割 A はアクセスできます。つまり、行のサブセットのみにフィルターを追加できます。役割 B には、いくつかの機密属性がマスクされています...)
有効化/無効化された機能により、本番環境へのコードのプリロード/限定的なロールアウトが可能になります。
スキーマ名のオーバーライド (さまざまなテスト作業のためにコードが異なるターゲット サンドボックス テーブルを指すようにする)
私の Repository Impl クラスでは、この構成を読み取ってここに属性として保存することができましたが、Spring Data ドメイン クラスのメタデータを拡張する方が理にかなっている (サポートされている場合) かどうか疑問に思っていました (これは RepositoryMetadata クラスであると考えてください)。
ありがとうマーク
netflix - spring-cloud with RestTemplate//Ribbon/Eureka - サーバーが利用できない場合に再試行します
ドキュメントに記載されているように、RestTemplate クライアントが Eureka を使用してリモート サービスを検出し、Ribbon を使用して呼び出しを転送することに成功しました。基本的には、Application クラスに次の注釈を追加するだけで、残りは Spring-Boot の魔法に任せることができました。
(PS: 1.0.0.M3 ではなく spring-cloud:1.0.0-SNAPSHOT-BUILD を使用していることにお気付きでしたか?しかし、これは私の問題には影響していないようです)。
2 つのサービス インスタンスが開始されると、rest-template クライアントは 2 つの間で要求の負荷を正常に分散します。ただし、Eureka ロード バランサーが通知する前に最初のインスタンスが停止した場合、クライアントは 2 番目のインスタンスにフォールバックせず、代わりに例外がスローされます。
したがって、私の質問: 最初に選択したインスタンスが使用できない場合に、別のインスタンスへの呼び出しを自動的に再試行するように RestTemplate/Ribbon/Eureka スタックを構成する方法はありますか? Zuulプロキシと偽装クライアントはこれを「すぐに」実行できるため、ライブラリには必要な機能が含まれていると思います...
アイデア/ヒントはありますか?
Thx、/ベルトラン
spring-security - Eureka による Oauth サーバーの検出
次の例https://github.com/spring-cloud-samples/ssoを見ると、認可/認証サーバーへの URL が application.yml に事前定義されています。
問題は、アーキテクチャに構成サーバーと eureka がある場合、SSO サービスは、構成ファイルで事前定義されているのではなく、Eureka を介して認証サーバーを検出できるかということです。
localhost:8080 の代わりにサービス名を使用して構成ファイルを変更しようとしました。うまくいきませんでした。
同じ思考プロセスに沿って、keyUri を JWT に提供する代わりに、構成サーバーを介して公開鍵を直接設定できますか? 構文は何ですか?
編集: さらにいくつかのテストを行った結果、tokenUri と authorizationUri は非常によく検出されているようです。localhost:8080 の代わりにサービス名を使用できます。唯一の問題は、keyUri をどうするかということです。
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 サポートの設定方法に何か見落としがありますか?
java - 構成サーバーからクライアント ポートを取得する
構成サーバーからサーバー ポートを取得して、Spring Boot クライアントのサーバー ポートを構成できるかどうか疑問に思っています。各クライアント コードで手動でポートを取得し、サーバーのコネクタ クラスを構成できることは認識していますが、おそらくもっと良い方法があります (アプリケーション プロパティで server.port を直接置き換える方法)。私のプロジェクトでは、単一のホストで複数のクライアントを実行しており、すべてのポートを中央の場所 (構成サーバー) から管理したいと考えています。
reverse-proxy - Zuul リバース プロキシ言語の理解
私は Zuul で遊んでいますが、私が理解していない基本的なものがあるようです。
ドキュメント ( http://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html ) によると、次の Zuul 構成により、「/myusers」へのすべての http 呼び出しが「users」に転送されるようになります。 " サービス。
同様のシナリオがありますが、単に機能しません。私の構成は次のとおりです。
サービス ID は「stores」で、「/hello」という URL を持っています。私がヒットしたとき:
Spring Boot 404 エラー メッセージが表示されます。ただし、california を store に置き換えると、非常にうまく機能し、次の構成になります。
この場合、私が電話すると
物事はうまくいきます。したがって、URL のプレフィックスがサービスの ID と一致する必要があるように見えます。それは期待される動作ですか?私は何が欠けていますか?
Zuul 1.0.0.BUILD-SNAPSHOT を使用しています。余談ですが、発見クライアントが現在 Zuul に組み込まれていることに気付きました。Eureka を実行したくない場合に無効にする方法はありますか?