問題タブ [netflix-ribbon]

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

spring - Eureka と Ribbon は非スプリング ブート アプリケーションで機能しますか?

Spring MVC システムを書き直しています。

このシステムは、単純に [Gateway<->Backend Services<->Databases]のようなものです。ここで、Gateway は単に認証とリクエストをバックエンド サービスに転送するためのコントローラーです。

バックエンド サービスはマイクロ サービスにリファクタリングされます。Eureka サービスを使用して、それぞれの登録を行います。したがって、最終的にアーキテクチャは[ゲートウェイ <-> Eureka <-> バックエンド マイクロサービス <-> データベース] になります。Gateway は Eureka サーバーからレジストリを検索し、マイクロ サービスを呼び出します。

ただし、Gateway は Spring Boot アプリケーションではありません (Spring Boot として書き直されることはありません)。そのため、Spring の eureka 機能 (@EnableEurekaClient 、DiscoveryClient など) を例のように簡単に採用できるとは思いません。実際に、ゲートウェイのコントローラーに eureka クライアント アノテーションを追加しようとしたところ、アプリケーションが崩壊しました。

さらに、クライアント側の負荷分散のために Gateway にリボンが必要です。しかし、上記と同じ懸念があります。

//11 月 1 日に更新 。Eureka サーバーとクライアントをセットアップしました。どちらも Spring Boot で記述されています。Spring MVC のテストには、これら 2 つのアプリケーションを使用しています。サーバーとクライアントは正常に動作しています。

サーバーの構成 application.propertiesは次のとおりです

クライアントは以下の通りです: application.yml

Eureka ダッシュボード localhost:8761 にアクセスすると、クライアントが登録されていることがわかります。

Spring MVC ゲートウェイは Spring ブート プロジェクトではないため、Eureka サーバーに接続して登録済みの「say-hello」クライアントのインスタンスを取得できるかどうかをテストするためだけに、例をプロジェクトにコピーしました。残念ながら、サンプル クラスの 76 行目に出力されている「eureka から対話するサンプル サービスのインスタンスを取得できません」というメッセージでは、そうすることができません。

これは、ゲートウェイのクラスパスに配置された eureka-client.properties です。Client クラスが設定ファイルを読み込んでいることが確認できました。

また、これはnew DiscoveryClient(applicationInfoManager, clientConfig);時のデバッグ情報です。実行中です

アイデアが不足しています。誰でもこの問題に手を貸してもらえますか?

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

kubernetes - kubernetes からの動的な宛先に対して、エウレカとリボンなしで zuul はどのように機能しますか

私はZuulの初心者です。kubernetes から動的宛先 (IP アドレス) 用の http プロキシーを作成したいと考えています。Can Zuul Edge Server を Eureka / Ribbon なしで使用できることを確認しましたが、これは役に立ちましたが、サーバーのリストを指定したくありません。

私が今持っているのは、spring-boot に基づいて ZuulFilter を拡張する simpleRouteFilter です。フィルターでは、kubernetes から取得した内容に従って宛先 IP アドレスを変更します。また、ribbon.eureka.enabled=false を使用して eureka をオフにします。

問題は、ローカル環境では問題ないように見えますが、プロジェクトを kubernetes にデプロイした後、ロード バランサーにクライアント用のサーバーがありません: sample-all-servicesと表示されますが、実際には機能します。ここにsample-all-service(サービスID)を入れたのは、プロパティのzuul configを削除するとzuulの機能が正常に動作しないためです。そして、そのIDは動的であるため、サーバーを配置しなかったことを知っています。

質問: (1) Zuul は私のシナリオに適合しますか? (2) はいの場合、ロードバランサーが使用できないという警告を表示せずにすべての http 要求を受け入れるように Zuul 構成を調整する方法。(3) それは kubernetes と関係がありますか?

ありがとう。

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

spring-cloud - 実行時に Zuul プロキシを動的に構成しますか?

次のような URL パスがあります。

の場合、リクエストは に送信されidentifierます。が である場合、リクエストは にも送られます。がの場合、リクエストは に送信されます。Aservice_IidentifierBservice_IidentifierCservice_II

後で新しいidentifiers MNがシステムに追加され、それらの要求は にルーティングされる必要がありますservice_IV

上記のタスクを実行するように Spring クラウド zuul プロキシを動的に構成することは可能ですか?

編集

提供されるこの質問には、質問を調べるための別の方法が含まれています。

その中で、Zuul には次の構成があります。

Zuul は Eureka と協力して を見つけてservice-idホスト パラメータを返し、サービスにアクセスできるようにします。代わりに/path/{userID}インスタンスuserIDが複数のservice_idホストに分散されている場合はどうなるでしょうか?

Zuul / the DiscoveryClient は、service_idと の両方について Eureka にクエリを実行userIDして、特定の をホストしているホストを特定できuserIDますか?

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

spring-cloud - Spring Cloud と Eureka のリボン

私は使っている

私の主なクラス:

私のサービス呼び出し:

次の例外をスローしています

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

microservices - クライアントからマイクロサービスにリクエストを動的にルーティングする方法

私が達成しようとしているのは次のとおりです。 1.バージョンが異なる同じタイプのマイクロサービスのセットがあります。例: アカウントのセット 1 (ms1-v1、ms2-v1、ms3-v1) とアカウントのセット 2 (ms1-v2、ms2-v2、ms3-v2) ここで、セット 1 のすべてのサービスはバージョン v1 です。バージョン v2 2 の set-2 です。Netflix Zuul を使用して、リクエストで指定されたバージョンに基づいてアカウントのマイクロサービス インスタンスを選択したいと考えています。

たとえば、バージョン v1 のアカウント サービスにアクセスしたいクライアントからの要求があったとします。上記の手順 2 により、ms1-v1、ms2-v1、および ms3-v1 のいずれかが返されます。各リクエスト バージョンでは、リクエスト ヘッダーの一部になります。

クライアント側の負荷分散にはリボンを使用します

よろしくお願いします。