Eureka注册中心-服务的手动剔除与恢复

doMore 2,056 2020-02-10

最近在 SpringCloud 项目中发现 Eureka 注册中心的微服务会显示异常,明明服务已经下线,但是注册中心还显示的可使用状态,以至于许多分发在该下线的服务时,造成很多错误。

1. 强制恢复服务:UP

PUT请求:
http://serverip:port/eureka/apps/SERVICE-NAME/instance-name/status?value=UP

2. 强制下线服务:DOWN

PUT请求:
http://serverip:port/eureka/apps/SERVICE-NAME/instance-name/status?value=DOWN

3. 强制剔除服务:OUT_OF_SERVICE

PUT请求:
http://serverip:port/eureka/apps/SERVICE-NAME/instance-name/status?value=OUT_OF_SERVICE

注意:强制设置后状态将会覆盖真实状态,谨慎操作!!如果需要取消强制设置,将 PUT 请求改为 DELETE 请求即可!!!

OperationHTTP actionDescription
注册新实例(上线)POST /eureka/v2/apps/appIDInput: JSON/XMLpayload HTTPCode: 204 on success
删除一个实例(下线)PUT /eureka/v2/apps/appID/instanceIDHTTP CODE:
200 SUCCESS
发送应用程序实例心跳PUT /eureka/v2/apps/appID/instanceIDHTTP CODE:
200 SUCCESS
404 if instanceID doesn’t exist
查询所有实例GET /eureka/v2/appsHTTP Code: 200 on success Output: JSON/XML
查询所有实例IDGET /eureka/v2/apps/appIDHTTP Code: 200 on success Output: JSON/XML
查询特定的appID/instanceIDGET /eureka/v2/apps/appID/instanceIDHTTP Code: 200 on success Output: JSON/XML
查询特定的instanceIDGET /eureka/v2/instances/instanceIDHTTP Code: 200 on success Output: JSON/XML