Spring Cloud 实现微服务在Eureka的手动上下线

为了更加方便的管理在Eureka上注册的微服务,项目专门搭建了一个微服务管理后台,并在该后台页面上提供了一个控制服务状态的类似于上下线的功能。

在服务代码中自动注入ApplicationInfoManager对象,然后调用下列方法即可实现服务在注册中心的状态改变:

applicationInfoManager.getInfo().setStatus(InstanceStatus status);

ApplicationInfoManager,顾名思义,是应用信息的管理类,其getInfo()方法获取到的是InstanceInfo对象,里边存储了当前微服务的各项信息,通过setStatus(InstanceStatus status)方法即可改变服务在Eureka的状态,InstanceStatus是定义在InstanceInfo类中的一个服务状态枚举类,一共有五种服务状态:UP,DOWN,STARTING,OUT_OF_SERVICE,UNKNOWN,当服务状态为UP时,Eureka才认为该服务可以正常对外提供服务,通过将其设置为DOWN即可实现服务在Eureka的下线。

你可能感兴趣的:(Spring,Cloud,微服务)