Eureka - 服務手動剔除,恢復與不註冊到Eureka

Eureka 註冊中心 - 如果服務不想註冊到Eureka Server ,可設置

spring.cloud.service-registry.auto-registration.enabled=false 
或
@EnableDiscoveryClient(autoRegister = false)

 

Eureka 註冊中心 - 服務的手動剔除與恢復

最近在 SpringCloud 項目中發現 Eureka 註冊中心的微服務會被異常的 DOWN 掉,但是微服務其實並沒有宕機,如果想強行重新上線要如何操作呢?

 

Eureka Rest接口- 心跳續約
接口地址: /eureka/apps/appID/instanceID
調用方式:PUT
源碼地址:com.netflix.eureka.resources.InstanceResource.renewLease()

返回狀態:

HTTPCode: 200 爲成功

HTTPCode: 404 續約失敗,重新註冊


接口說明:調用該接口進行心跳續約
調用說明:: http://{ip}:{port}/eureke/apps/{spring.application.name}/{eureka.instance.instance-id}

http://server1:8010/eureka/apps/{spring.application.name}/{eureka.instance.instance-id}

例如:

1. 強制恢復服務:UP

    PUT 請求:
    http://server1:8010/eureka/apps/BOOK-SERVICE/book-service-01/status?value=UP

 2. 強制下線服務:DOWN

    PUT 請求:
    http://server1:8010/eureka/apps/BOOK-SERVICE/book-service-01/status?value=DOWN

 3. 強制剔除服務:OUT_OF_SERVICE

    PUT 請求:
    http://server1:8010/eureka/apps/BOOK-SERVICE/book-service-01/status?value=OUT_OF_SERVICE

 

警告:強制設置後狀態將會覆蓋真實狀態,謹慎操作!!如果需要取消強制設置,將 PUT 請求改爲 DELETE 請求即可!!!

注意:對於json/xml,提供的內容類型必須是application/xml或application/json。

Operation HTTP action Description
註冊新應用程序實例 POST /eureka/v2/apps/appID Input: JSON/XMLpayload HTTPCode: 204 on success

取消註冊應用程序實例

DELETE /eureka/v2/apps/appID/instanceID HTTP Code: 200 on success
發送應用程序實例檢測信號 PUT /eureka/v2/apps/appID/instanceID HTTP Code:
* 200 on success
* 404 if instanceID doesn’t exist
查詢所有實例 GET /eureka/v2/apps HTTP Code: 200 on success Output: JSON/XML
查詢所有appID instances GET /eureka/v2/apps/appID HTTP Code: 200 on success Output: JSON/XML
查詢特定的AppID/實例ID GET /eureka/v2/apps/appID/instanceID HTTP Code: 200 on success Output: JSON/XML
查詢特定的instanceID GET /eureka/v2/instances/instanceID HTTP Code: 200 on success Output: JSON/XML
停止服務實例 PUT /eureka/v2/apps/appID/instanceID/status?value=OUT_OF_SERVICE HTTP Code:
* 200 on success
* 500 on failure
將實例移回服務(移除覆蓋) DELETE /eureka/v2/apps/appID/instanceID/status?value=UP (The value=UP is optional, it is used as a suggestion for the fallback status due to removal of the override) HTTP Code:
* 200 on success
* 500 on failure
Update metadata PUT /eureka/v2/apps/appID/instanceID/metadata?key=value HTTP Code:
* 200 on success
* 500 on failure
查詢特定VIP地址下的所有實例 GET /eureka/v2/vips/vipAddress
* HTTP Code: 200 on success Output: JSON/XML 
* 404 if the vipAddress does not exist.

 

查詢特定安全VIP地址下的所有實例

GET /eureka/v2/svips/svipAddress
* HTTP Code: 200 on success Output: JSON/XML 
* 404 if the svipAddress does not exist.

 

 

原文地址 : https://my.oschina.net/u/943746/blog/2248156

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章