Как реализовать liveness / readines с помощью Springboot 2.3.0 - PullRequest
0 голосов
/ 05 августа 2020

Недавно я узнал, что springboot 2.3.0 предлагает живучесть / готовность. Чтобы реализовать их, я обновил версию springboot до 2.3.0 и добавил зависимость spring-boot-starter-validation в pom. Я также обновил раздел env диаграммы управления, чтобы он содержал:

  name: management.health.probes.enabled
  value: 'true'
  name: management.endpoint.health.group.readiness.include
  value: 'readinessState,db'

Это все, что мне нужно, чтобы реализовать проверки работоспособности и готовности для компонента? Если да, есть ли способ проверить это локально? Мой коллега сказал мне, что если я могу написать среду локально в application.properties, я должен иметь возможность протестировать ее локально (запустив почтальона и выставив api, например / actator / health / livness или что-то в этом роде).

1 Ответ

1 голос
/ 05 августа 2020

Добавить зависимость исполнительного механизма в pom

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

Зонды HTTP настраиваются только для приложений, работающих в Kubernetes. Вы можете попробовать его локально, вручную включив зонды с помощью свойства конфигурации management.health.probes.enabled=true

Вы можете проверить работоспособность и готовность с помощью curl или с помощью почтальона, чтобы попасть в конечные точки ниже

// http://localhost:8080/actuator/health/liveness
// HTTP/1.1 200 OK

{
  "status": "UP",
  "components": {
    "livenessProbe": {
      "status": "UP"
    }
  }
}

// http://localhost:8080/actuator/health/readiness
// HTTP/1.1 503 SERVICE UNAVAILABLE

{
  "status": "OUT_OF_SERVICE",
  "components": {
    "readinessProbe": {
      "status": "OUT_OF_SERVICE"
    }
  }
}

Конечно, вы можете настроить дополнительные индикаторы работоспособности, которые будут частью зондов, проверяющих состояние внешних систем: базы данных, веб-API, общего кеша.

management.endpoint.health.group.liveness.include=livenessProbe,customCheck
...