Eureka服務端application.yml文件:
eureka: instance: hostname: eureka7001.com client: register-with-eureka: false fetch-registry: false service-url: defaultZone: http://eureka7002.com:7002/eureka/ # ******下面的代碼用來關閉Eureka服務端的自我保護機制****** server: # 關閉自我保護機制,保證不可用的服務被及時剔除 enable-self-preservation: false # 如果2秒內沒有收到某個微服務的心跳,那就剔除該微服務,單位為毫秒 eviction-interval-timer-in-ms: 2000
Eureka客戶端application.yml文件:
eureka: client: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka # ******下面的操作用來配合被關閉的Eureka的自我保護機制****** instance: instance-id: payment8001 prefer-ip-address: true # Eureka客戶端向服務心跳的時間間隔是1s,默認是30秒 lease-renewal-interval-in-seconds: 1 # Eureka服務端在收到一次心跳后等待時間上限是2s,默認是90s,超時將剔除該微服務,其實Eureka服務端已經設置了,可能就是也告訴服務提供者一下 lease-expiration-duration-in-seconds: 2
Eureka客戶端會間隔1s向Eureka服務端發送一次心跳包,而Eureka服務端的自我保護機制已經關閉了,如果在2s之內沒有收到Eureka客戶端發送過來的心跳包,那就會立即剔除注冊的Eureka客戶端