Eureka強制下線
強制下線
可以通過調用stateUpdate接口,更改實例的狀態爲OUT_OF_SERVICE 。
實現方式
調用接口:/eureka/apps/appID/instanceID/status?value=OUT_OF_SERVICE
調用示例:http://101.37.33.252:8083/eureka/apps/EUREKA-1/10.28.144.127:17101/status?value=OUT_OF_SERVICE
調用方式:PUT
具體表現
當調用上面的接口之後,實例的狀態即被修改爲OUT_OF_SERVICE
當調用EUREKA-1的客戶端刷新本地緩存之後,獲取到EUREKA-1的最新狀態,在調用過程中,就會發生錯誤,表示服務不可用
{
"timestamp": 1528353497748,
"status": 500,
"error": "Internal Server Error",
"exception": "java.lang.RuntimeException",
"message": "com.netflix.client.ClientException: Load balancer does not have available serverfor client: eureka - 1 ",
"path ":" /a/get "}
"timestamp": 1528353497748,
"status": 500,
"error": "Internal Server Error",
"exception": "java.lang.RuntimeException",
"message": "com.netflix.client.ClientException: Load balancer does not have available serverfor client: eureka - 1 ",
"path ":" /a/get "}
手動上線
刪除實例的覆蓋狀態,同時修改實例的狀態爲UP , 當客戶端的緩存刷新之後,獲取到EUREKA-1的狀態爲UP,那麼服務就立馬OK了
實現方式
請求接口:/eureka/apps/appID/instanceID/status?value=UP
調用示例:http://101.37.33.252:8083/eureka/apps/EUREKA-1/10.28.144.127:17101/status?value=UP
調用方式:DELETE