1

私たちは、春のクラウドNetflix ossコンポーネントを使用する予定でした。だから私は小さなサンプルプロジェクトをやっていました。 私は2スプリングmicroservices及びそれらのサービスが http://localhost:9000/microsvc-onehttp://localhost:9001/microsvc-two春の雲Netflix eurekaにスプリングブートマイクロサービスを登録するには?

上でうまく動作し、また、私は注釈を使用@EurekaDiscoveryClientとの両方に@SpringBootApplication http://localhost:8761

上でうまく動作しますサンプルの春の雲etflixユーレカのMavenプロジェクトを書いた開発春ブーツmicroservicesメインクラス

私は注釈@EnableEurekaServerと@SpringBootApplication

を使用今私はこれらのサービスをユーレカサーバに登録する際に問題に直面しています。私はいくつかのサンプルを参照しました。私はそれらを理解していない。 私はmicrosvc-oneとmicrosvc-twoのapplication.ymlファイルとeurekaサーバのapplication.ymlファイルにいくつかの変更を加えました。 まだそれは空を示します。

私のサービスがユーレカに登録されるために必要なすべての変更、行方不明、または正しい設定。

私は上記の2つのマイクロサービスとeurekaサーバープロジェクトモジュール以外の@EnableConfigServerと@SpringBootApplication注釈を持つ別々のプロジェクトを作成する必要があるかのような他の質問もあります。 ほとんどの例でそれらを参照してください。

はいの場合はどうすればこれらの間をリンクできますか?

+0

コードとymlファイルを追加します。あなたが行ったことを表示しない場合、どうすれば誰かを助けることができます。私はあなたに役立つものはほとんど答えていません。 –

答えて

5

springBootアプリケーションを使用している場合は、@ SpringBootApplicationというannotaionが必要です。なぜなら、あなたが見ているプロジェクトにその注釈があるからです。 @EnableConfigServerは、Springクラウド設定サーバーを使用しているときに設定プロパティを外部化するために使用されますが、プロジェクト内にapplication.ymlがあるので、どちらも必要ありません。

私は、マイクロサービスとEurekaサーバーの両方のスプリングブートアプリケーションがあると思います。あなたは、あなたがここで問題になっているapplication.ymlファイルを持ってscroll down toパソコンへ転送するのでまたあなたが...

@SpringBootApplication 
@EnableDiscoveryClient 
public class MicroApplication { 

    public static void main(String[] args) { 
     SpringApplication.run(MicroApplication.class, args); 
    } 
} 

であなたmicroserviceのメインクラスに注釈を付ける必要

@SpringBootApplication 
@EnableEurekaServer 
@EnableDiscoveryClient 

public class EurekaServerApplication { 

    public static void main(String[] args) { 
     SpringApplication.run(EurekaServerApplication.class, args); 
    } 
} 

ユーレカメインクラスに注釈を付ける必要があることは何です必要。

マイクロサービスのapplication.ymlには、以下の設定が必要です。

eureka: 
    client: 
    serviceUrl: 
     defaultZone: ${eurekaurl:http://localhost:8761/eureka/} 

私はこれを私の中に持っています。あなたが望むものに基づいてそれを微調整する必要があるかもしれません。

info: 
    component: Registry Server 

server: 
    port: ${port:8761} 


eureka: 
    client: 
    registerWithEureka: false 
    fetchRegistry: false 
    server: 
    enable-self-preservation: false 
    waitTimeInMsWhenSyncEmpty: 0 
    instance: 
    hostname: localhost 
    lease-expiration-duration-in-seconds: 15 
    lease-renewal-interval-in-seconds: 5 
+0

ありがとうございます。今は明らかです。行方不明の変更を行った後にお知らせします – LazyGuy

+0

上記のコードは、@ EnableDiscoveryClientを追加するのではなく、マイクロサービスで@ EnableEurekaClientアノテーションを追加したときに動作します。 – LazyGuy

+0

クール...ユーレカ固有のものにしたい場合は、 –

1

ここで、「LoginServer」という名前のマイクロサービスがある場合、起動時にこのサービスを検出サーバー(Eureka Server)に登録する方法を見てみましょう。

ここでは、SpringブートスタートアップクラスのLoginServerです。java:

@EnableAutoConfiguration 
@EnableDiscoveryClient 
public class LoginServer { 
public static void main(String[] args) { 

    // Will configure using login-server.yml 

    System.setProperty("spring.config.name", "login-server"); 
    SpringApplication.run(LoginServer.class, args); 

    } 
} 

@EnableDiscoveryClient - サービスの登録と検出を有効にします。この場合、このプロセスは、YML構成ファイルで構成されたアプリケーション名を使用して、検出サーバーサービスに自身を登録します。

のは、完全なセットアップを見てみましょう:

まずSRC /メイン/リソースのパッケージフォルダにファイル(任意の名前が、拡張子は.ymlでなければなりません)ログイン-server.ymlを作成します。これらの設定を書き込んで保存します。

# Spring properties 
spring: 
application: 
    name: login-server # This name used as ID so ("spring.config.name", 
         #"login-server"); must be same. 

# Discovery Server Access 
eureka: 
client: 
    serviceUrl: 
    defaultZone: http://localhost:1111/eureka/ 

# HTTP Server 
server: 
port: 2222 # HTTP (Tomcat) port 

LoginServerを実行して初期化を完了します。このURLをhttp://localhost:1111に入れてダッシュボードを開いて、お気に入りのブラウザに更新してください。数秒後にLOGIN-SERVERが表示されます。通常、登録には最大30秒(デフォルト)かかりますので、待機または再起動してください。

これはマイクロサービスの完全登録プロセスです。

関連する問題