【Eureka】【08】EurekaClient應用實例停止後,如何快速的把實例從EurekaServer剔除

1.EurekaClient向EurekaServer註冊時,和EurekaSever有續約時間和剔除時間的約定,默認30秒續約一次,如果90秒還沒有續約就可以剔除掉我

server:
  port: 8000
spring:
  application:
    name: user

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
  instance:
    #和房東續約時間,默認30秒
    leaseRenewalIntervalInSeconds: 2
    #多久不交房租就被剔除,默認90秒
    lease-expiration-duration-in-seconds: 4

2.EurekaSever啓動時會啓動一個剔除定時任務,默認60秒執行一次,當EurekaServer在執行剔除任務時發現有需要被剔除的EurekaClient會做剔除操作

server:
  port: 8761

eureka:
  server:
    enableSelfPreservation: false
    #多久執行一次剔除任務,默認時60秒
    eviction-interval-timer-in-ms: 4000
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://localhost:${server.port}/eureka/

3.可以通過EurekaServer提供的Restful接口把EurekaClient實例的狀態變成OUT_OF_SERVICE狀態,EurekaServer在執行剔除任務時也會刪除掉
https://github.com/Netflix/eureka/wiki/Eureka-REST-operations
3.1獲取所有的註冊信息
http://localhost:8761/eureka/apps
3.2獲取指定應用USER的所有實例
http://localhost:8761/eureka/apps/USER
3.3將實例狀態改成OUT_OF_SERVICE

Take instance out of service  PUT /eureka/v2/apps/appID/instanceID/status?value=OUT_OF_SERVICE	
HTTP Code:
* 200 on success
* 500 on failure
PUT類型方法  http://localhost:8761/eureka/apps/USER/127.0.0.1:user:8000/status?value=OUT_OF_SERVICE

3.4將實例狀態改成UP

Take instance out of service  PUT /eureka/v2/apps/appID/instanceID/status?value=UP
HTTP Code:
* 200 on success
* 500 on failure
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章