Eureka 中服务下线的几种方式

原文:https://blog.csdn.net/qq_15071263/article/details/85276486#1_6

Eureka 中服务下线的几种方式
1、直接停掉服务
根据默认的策略,如果在一定的时间内,客户端没有向注册中心发送续约请求,那么注册中心就会将该实例从注册中心移除,但是有缺陷,因为服务直接停掉后,实例仍然会在注册中心存在一小段时间,也有可能注册中心直接认为你的服务down掉,但是实例仍然存在于注册中心

2、通过注册中心接口强制下线
通过注册中心的接口,我们可以强制下线指定的服务
接口请求格式如下

// 注册中心zone
eureka:
  client:
    serviceUrl:
      defaultZone

发送一个delete 请求
http://你的注册中心zone/apps/你的实例名称/你的实例地址加端口

// demo
http://xxx.xxx.xxx.xxx:8761/eureka/apps/PTC/iZ2rderl3j12llZ:ptc:2703
 

实例名称就是Application,地址加端口就是Status的右边
在这里插入图片描述

发送后,服务实例会从注册中心强制下线,但是此时如果服务仍然在线,则服务自身会通过心跳包向注册中心再次上线。

3、客户端主动下线
// 客户端可以通过如下代码主动通知注册中心下线
DiscoveryManager.getInstance().shutdownComponent();
原文地址:https://www.cnblogs.com/shihaiming/p/11412656.html