web-dev-qa-db-ja.com

構成サーバーを備えたSpringCloud Eureka

ConfigServerとEurekaServerの両方を実行する場合の推奨構成は何ですか? Config ServerはEurekaのクライアントである必要がありますか?または、Eurekaはその構成をConfig Serverのプロパティに依存する必要がありますか?それとも両方とも大丈夫ですか?

12
Turar

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クライアントであることを「認識」します。注釈付きのメインクラス。 このドキュメントでは、そのプロセスについてもう少し詳しく説明しています。

乾杯、マーク

2
Mark Heckler

@ Mideelの回答に基づく

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に登録するには自動構成する必要があります)

1
George

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を使用して残りを処理すると思います。

0
Mideel