什么是优雅停服?


就是微服务下线了,主动发一个请求告诉微服务注册中心 Eureka,然后注册中心就立即在服务列表剔除掉该服务。
配置了优雅停服之后,将不需要 Eureka Server 中配置关闭自我保护。

首先,在微服务的 pom.xml 里增加 actuator 配置:

        <!-- 添加 actuator 依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

yml 配置文件增加端点配置

# 端点管理
management:
  endpoints:
    web:
      exposure:
        # 开启指 shutdown 端点
        include: shutdown
  # 开启 shutdown 实现优雅停服      
  endpoint:
    shutdown:
      enabled: true

可以把所有端点打开:include: '*'

但是,shutdown 端点是不包含在 * 里面的,因为它认为 shutdown 端点是致命的,因此必须要显示的在 yml 里打开。别人一旦知道地址,就打开 shutdown 请求,停掉服务。

我们看到注册中心有以下微服务:

 

然后我们发送一个 post 请求,把 feign-server 停掉,端口号是 9092。

http://127.0.0.1:9092/actuator/shutdown

然后 feign-server 就很快下线了

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐