ConfigServerとEurekaServerの両方を実行する場合の推奨構成は何ですか? Config ServerはEurekaのクライアントである必要がありますか?または、Eurekaはその構成をConfig Serverのプロパティに依存する必要がありますか?それとも両方とも大丈夫ですか?
EurekaとConfigServerを使用するデフォルトの方法は、ConfigFirstブートストラップを使用することです。基本的に、eurekaサーバーを構成サーバーのクライアントにしますが、構成サーバーをeurekaのクライアントにしません。
スプリングクラウドの創設者である these (および this )の問題についてDavid Syerが述べたように、フロントエンドロードバランサーを備えた構成サーバーを使用する必要があるため、単一のURLはすでに高可用性です。
私もSpringCloudの初心者ですが、Eurekaはサービスディスカバリーであるため、彼に同意します。私見では、問題のあるドメインでのみ機能するはずです。 Configサーバーに構成を要求しているEurekaサーバーにとっては複雑なロジックになります。構成サーバーがdefaultZoneのリストを取得するために、Eurekaのサーバーでもある場合、Eurekaサーバーがどの構成サーバーを取得するかをどのように知るか想像できません。
構成サーバーのHAを分離する方がはるかに簡単です。
Spring Cloud Configサービスは、Eurekaサービスを含む他のさまざまなマイクロサービスの構成情報を提供します。
各アプリ/マイクロサービスは、そのアプリケーションの親コンテキストに読み込まれるbootstrap.properties/.ymlを介して(Configサービスから)その構成をポイントします。その後、アプリはそれが検出/ Eurekaクライアントであることを「認識」します。注釈付きのメインクラス。 このドキュメントでは、そのプロセスについてもう少し詳しく説明しています。
乾杯、マーク
EurekaおよびConfigClientの構成(ブートストラップである必要があります):
# bootstrap.yml
cloud:
config:
discovery:
enabled: true # This is required
service-id: configserver # Config Server's eureka registry name
enabled: true # This is default true already
構成サーバーの構成:
spring:
application:
name: configserver # Needs to match client configuration
注釈@EnableEurekaClient
を使用して構成サーバーを登録します(ただし、Eurekaに登録するには自動構成する必要があります)
Spring Bootを使用する場合:
私はガイドブックとしてSpringMicroservices in Actionを使用しており、そこにあるソースコードの例に基づいて、構成サーバーを@EnableEurekaClient
アノテーション付きのEurekaクライアントとして作成し、構成サーバーapplication.ymlで次のことを行う必要があります。このプロパティを追加します:
spring:
cloud:
config:
discovery:
enabled: true
また、この構成サーバーを使用する他のEurekaクライアントでは、このプロパティをapplication.ymlに追加する必要があります。
spring:
cloud:
config:
enabled: true
それだけです。通常どおり構成サーバーをセットアップするだけです。舞台裏では、SpringCloudの構成ライブラリがEurekaを使用して残りを処理すると思います。