/ / JHipsterのサービスのZuul URLエンドポイントのカスタマイズ-jhipster、netflix-zuul

JHipsterのサービスのZuul URLエンドポイントのカスタマイズ - jhipster、netflix-zuul

「client-Foo」と呼ばれるマイクロサービスのグループがあります。Fooは特定のサードパーティクライアントの名前です。

これらの名前をそのまま使用すると、非常にいエンドポイントURLが作成されるため、それらをより優れた階層形式に変換したいと思います。

カスタムを追加しました PatternServiceRouteMapper serviceIdを取る client-Foo それをURLに変えます client/Foo.

これにより、必要なURLが得られますが、サービスマッピングも破損します。 また、 登録されたserviceIdを変更します client/Foo;したがって、Zuulがルーティングに行くと失敗する いいえ client/Foo サービス、そのIDは client-Foo!

アプリケーションが任意の数の異なる「client- *」サービスを必要とするため、パスをハードコーディングできません。

回答:

回答№1は0

見て ZuulProxyAutoConfiguration、いくつかのBeanを置き換えて目標を達成できることがわかります。特に、独自の実装を提供することを検討する必要があります。 RouteLocator インターフェースまたは拡張 DiscoveryClientRouteLocator クラス。 サービスインスタンスは、メタデータマップの追加データとともにEurekaサーバーに登録することもできます。 RouteLocator 使用できます。


回答№2の場合は0

構成定義のZuulルートを追加するだけです:

zuul:
routes:
client-foo: /foo/**

また、config-server api(/config/foo-profile.ymlで、profileは設定を取得する対象のスプリングプロファイルです)を混乱させる可能性があるため、service-idにダッシュがないようにすることをお勧めします。