問題:
最近遇到一個很奇怪的問題,就是使用springcloud的時候,服務明明已經停止,但是在eureka中一直顯示此服務狀態為UP,這樣就導致了請求再次過來的時候被分發到已經停止的服務上,其實這是不合理的,后來發現是配置文件的原因,稍加調整就好了。
解決辦法:
eureka服務端:
eviction-interval-timer-in-ms: 3000 eureka server清理無效節點的時間間隔,默認60000毫秒,即60秒
enable-self-preservation: true 是否開啟自我保護模式,默認為true
eureka客戶端:
healthcheck.enable: true 開啟健康檢查
lease-renewal-interval-in-seconds: 3 eureka client發送心跳給server端的頻率。如果在leaseExpirationDurationInSeconds后,server端沒有收到client的心跳,則將摘除該instance
lease-expiration-duration-in-seconds: 6 eureka server至上一次收到client的心跳之后,等待下一次心跳的超時時間,在這個時間內若沒收到下一次心跳,則將移除該instance
配置完成后就可以了。