2017-09-21 6 views
0

私はEurekaサーバーとEurekaクライアントを持っています。クライアントのbootstrap.propertiesでは、私は以下の構成を有している:ユーレカはリニューアル作業をどのように借りていますか?

eureka.instance.leaseRenewalIntervalInSeconds=240 
eureka.instance.leaseExpirationDurationInSeconds=240 

私の理解では、クライアントは240秒ごとにサーバーにハートビートを送信することです。 240秒でハートビートが得られない場合は、さらに240秒待つ。それでもハートビートが受信されない場合、ハートビートはクライアントの登録を解除します。

しかし、私が観察したことは、クライアントを手動で停止させると、ユーレカのダッシュボードは240秒間待たずにすぐにクライアントを停止状態にしていることです。私はダッシュボードがクライアントがダウンしていることを認識する前に、少なくとも240秒の遅延を望んでいました。誰かがなぜこれが起こっているのか、私が言及した行動をどうやって得ることができるのか説明できますか?

答えて

1

ディスカバリクライアント(ユーレカクライアント)は、シャットダウン中にユーレカサーバを登録解除します。そのため、インスタンスが停止したときにユーレカのサーバーのダッシュボードをすぐに消滅させるのはそのためです。

残念ながら、私が知る限り、この動作を無効にするプロパティはありません。

しかし、ユーレカのサーバーのダッシュボードには、登録済みインスタンスの現在のステータスが表示されます。しかし、EurekaサーバーのAPIには、応答キャッシュがあります。つまり、ダッシュボードにシャットダウンしたインスタンスが表示されない場合でも、APIの応答には、キャッシュ期間中にシャットダウンされたインスタンス情報が含まれる可能性があります。

このサーバーのキャッシュ期間は、以下のプロパティで調整できます。デフォルト値は30秒​​です。

eureka.server.responseCacheUpdateInvervalMs 

PS1)eureka.instance.leaseRenewalIntervalInSeconds値にはいくつかの副作用があります。いくつかのユーレカのサーバーコードでは、30秒と仮定しています。このプロパティを変更すると、自己保存モードが正しく機能しないことがあります。

PS2)ユーレカクライアントには独自のキャッシュもあります。ユーレカのクライアントがあなたのインスタンスの消滅を認識するまでには時間がかかります。

関連する問題