1. 程式人生 > >spring cloud 健康監測配置

spring cloud 健康監測配置

crazy 指示 equals static n) AD implement nvi red

配置說明 註意-轉駝峰

english

http://cloud.spring.io/spring-cloud-static/Dalston.SR2/#spring-cloud-feign

china

https://springcloud.cc/spring-cloud-dalston.html

eureka server配置server:

server:
port: 8761
eureka:
client:
register-with-eureka: false
fetch-registry: false
server:
enable-self-preservation: false
#每指定時間 刷新服務列表
eviction-interval-timer-in-ms: 5000
 

eureka client

server:
  port: 8080
spring:
  application:
    name: my-health-provider
endpoints:
  sensitive: false
eureka:
  instance:
    #每指定時間向發送 eureka服務器發送續約信息
    leaseRenewalIntervalInSeconds: 5
    #每指定時間沒有向服務器發送續約信息,即向eureka服務器發送down機信息
    leaseExpirationDurationInSeconds: 10
    metadata-map:
      company-name: crazyit     
  client:
    #指示將實例信息復制到eureka服務器的開始時間(以秒為單位)
    #配合健康檢測器,健康指示器 將實例健康狀態通知eureka服務器
    instanceInfoReplicationIntervalSeconds: 10
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/

健康指示器

@Component
public class MyHealthIndicator implements HealthIndicator {

    public Health health() {
        if(PoliceController.canVisitDb) {
            return new Health.Builder(Status.UP).build();
        } else {
            return new Health.Builder(Status.DOWN).build();
        }
    }

}

健康監測器

@Component
public class MyHealthCheckHandler implements HealthCheckHandler {

    @Autowired
    private MyHealthIndicator halthIndicator;
    
    public InstanceStatus getStatus(InstanceStatus currentStatus) {
        Status status = halthIndicator.health().getStatus();
        if(status.equals(Status.UP)) {
            return InstanceStatus.UP;
        } else {
            return InstanceStatus.DOWN;
        }
    }

}

spring cloud 健康監測配置