Eureka中服务下线有几种方式
(1)直接停止服务
停止服务后,注册中心(eureka server)在一定时间内没有收到续约请求,则会将服务实例从服务列表中移出
(2)在Eureka客户端中调用下线请求
// 客户端可以通过如下代码主动通知注册中心下线 DiscoveryManager.getInstance().shutdownComponent();
(3)直接向注册中心发送下线请求
通过注册中心的接口,我们可以强制下线指定的服务,发送delete请求,可以让服务实例下线。
在eureka client中,也提供了服务下线的方法供我们调用。
而方法中的unregister()就是具体的服务下线的方法。
服务实例下线的流程:
(1)调用EurekaHttpClient的cancel()方法,http://localhost:8080/v2/apps/ServiceA/i-00000-1,delete请求
(2)跟服务续约一样,根据@Path("/{version}/apps")找到ApplicationsResource