产品

注册中心-Eureka

2023-02-24  本文已影响0人  我可能是个假开发

一、架构原理

Eureka架构.png

二、Eureka自我保护

一般情况下,服务在Eureka上注册后,会每30s发送心跳包,Eureka通过心跳来判断服务是否健康,同时会定期删除超过90s没有发送心跳的服务。

两种情况会导致Eureka Server收不到微服务的心跳

1.Eureka自我保护模式

Eureka Server在运行期间会去统计心跳失败比例在15min之内是否低于85%,如果低于85%,Eureka Server会将这些实例保护起来,让这些实例不会过期,同时提示警告。

2.启动自我保护模式的原因

3.自我保护模式配置

eureka: 
  server: 
    enable-self-preservation: false
    eviction-interval-timer-in-ms: 60000

三、Eureka优雅停服

配置了优雅停服以后,就不需要Eureka Server中配置关闭自我保护

使用actuator实现优雅停服

1.添加依赖

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

2.服务提供者的 application.yml 添加度量指标监控与健康检查

management:
  endpoints:
    web:
      exposure:
        include: shutdown #开启shutdown端点访问
  endpoint:
    shutdown:
      enabled: true #开启shutdown实现优雅停服 再次确认暴露shutdown端点

management.endpoints.web.exposure.include:需要暴露什么端点,可暴露所有端点,写法为 ’ * ',虽然选择暴露所有端点,但 shutdown 因为安全性问题,actuator 并未开启 shutdown 端点,需使用 management.endpoint.shutdown.enabled 再次确认开启 shutdown 端点。

image.png
image.png
image.png

3.使用 post 方式请求 http://localhost:7070/actuator/shutdown,优雅停服

极客时间《Spring Cloud 微服务项目实战》学习笔记Day20

上一篇 下一篇

猜你喜欢

热点阅读