2015-09-16 20 views
23

私は現在ユーレカが登録サービスを登録解除しないという問題に直面しています。私はgit hubから直接Eurekaサーバの例を引っ張り、変更を1つだけ行った。eureka.enableSelfPreservation = false。私application.ymlは次のようになります。私は登録されたサービスの85%が15分以内にハートビートを提供し停止した場合、ユーレカはネットワーク関連されている問題を想定していることを読んだとされていないサービスを登録解除んユーレカは決してサービスを登録解除しません

server: 
    port: 8761 
eureka: 
    enableSelfPreservation: false 
    client: 
    registerWithEureka: false 
fetchRegistry: false 
    server: 
    waitTimeInMsWhenSyncEmpty: 0 

こと応答していません。私の場合、サービスは1つしか実行されていないため、自己保存モードは無効になっています。私は突然プロセスを殺しており、ユーレカは不確定な時間のように見えるサービスを登録しています。

私のクライアントのapplication.ymlは次のようになります。

eureka: 
    instance: 
    leaseRenewalIntervalInSeconds: 3 
    client: 
    healthcheck: 
     enabled: true 
    serviceUrl: 
     defaultZone: http://localhost:8761/eureka/ 
    appInfo: 
    replicate: 
     interval: 3 
    initial: 
     replicate: 
     time: 3 
spring: 
    rabbitmq: 
    addresses: ${vcap.services.${PREFIX:}rabbitmq.credentials.uri:amqp://${RABBITMQ_HOST:localhost}:${RABBITMQ_PORT:5672}} 

私の目標は、ユーレカはすぐに、もはや実行されているサービスと迅速自身を登録することができます開始された別のサービスを検出し、デモを作成することです。

現在、ユーレカのクライアントが起動すると、3秒後に登録されます。サービスが突然終了すると、登録解除されることはありません。サービスを終了すると、ユーレカのダッシュボードには次のようなメッセージが表示されます。

緊急! EUREKAは誤っている可能性があります。リニューアル回数は、しきい値よりも長くなり、そのインスタンスは安全に期限切れになっていません。

この現象を防止するにはどうすればよいですか?

+0

あなたはどのバージョンのspring-cloudを使用していますか? – spencergibb

+0

2つのプロジェクトがありますが、私はGitHubから引き出した例で1.1.0を使用しています。実際のプロジェクトでは、spring-cloud-starter-config 1.0.3を使用しています。どちらもクライアントの登録を解除していません。 – lp1776

+0

あなたは実際にどれくらい待っていますか?私はデフォルト設定の登録を解除するのに時間がかかることがあります。 –

答えて

24

私は自己保存モードが実際に無効にされていないことに気付きました。これは、実際のプロパティは、私はどこにも文書化見つかっていない

eureka.server.enableSelfPreservation=false 

DefaultEurekaServerConfigコードを参照)、ある判明します。これで私の問題は解決しました。

+1

この問題のドキュメンテーションレポへのプルリクエストは、おそらく他の多くの人にとって非常に役に立ちます。 ...もし誰かがまだそうしていないなら。 – DtechNet

18

私は

ユーレカサーバapplication.yml

eureka: 
    server: 
    enableSelfPreservation: false 

値サービスは、完全な例がここにhttps://github.com/ExampleDriven/spring-cloud-eureka-example

ある

eureka: 
    instance: 
    leaseRenewalIntervalInSeconds: 1 
    leaseExpirationDurationInSeconds: 2 

をapplication.yml以下を設定することで、サービスの登録解除の作業を行いました

関連する問題