1

Spring Cloud Netflix についてインターネットで見つけたものはすべて、Boot アプリケーションなどを使用してマイクロサービスを実行する@EnableEurekaClientsことに関するものです。

現在、従来の war アプリケーション (springmvc、jaxws など) 内でロギング マイクロサービスを接続しようとしています。これは、Boot に変換したり、(技術的なタスクによって) 変更したりできないレガシーの一部です。

上位 Web レイヤーについて何も知らず、任意の Maven プロジェクトで単純な依存関係として使用することを意図した、新しい Maven モジュール「log-server-client」を作成しました。

この単純な依存関係に対して、Spring Cloud Netflix へのアクセスをどのように構成すればよいですか? 少なくとも、Eureka と Ribbon を構成する方法は?

から数行のコードを抽出しRestTemplateてカスタムを作成しましたJmsTemplate(マイクロサービスは apache camel および activemq を使用した jms リモート処理で動作します) RestTemplate

確かに、グローバル シングルトン Bean を作成し、この Bean とは別のスレッドを実行し、このスレッドから Boot アプリを実行できますが、それは非常に見苦しく、問題を引き起こす可能性があると思いませんか? それは実際にどのように使用する必要がありますか?

4

1 に答える 1

2

素晴らしい質問です!

1 つのアプローチは、「サイドカー」を使用することです。これは、従来の Web アプリに代わって Eureka Server に登録するコンパニオン Spring Boot アプリケーションのようです。

例を参照してください:

http://www.java-allandsundry.com/2015/09/spring-cloud-sidecar.html

http://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html#_polyglot_support_with_sidecar

別のアプローチは、次のライブラリを使用することです。

「Eureka サービス ディスカバリでレガシー アプリケーションの登録を可能にする小さなライブラリ。」

https://github.com/sawano/eureka-legacy-registrar

このライブラリは、Spring Boot の外部で使用できます。

于 2016-10-07T08:31:08.253 に答える