Проверка работоспособности и готовности сервисов DCGN в среде контейнеризации#
DCGN использует в работе liveness и readiness probes — два основных типа проверок, доступных в контейнере:
template-registry/template-provider:
liveness probeоснована на стандартной реализации Spring Boot, то есть на состоянии ApplicationContext. Если контекст приложения успешно запущен, Spring Boot предполагает, что приложение находится в доступном состоянии.readiness probeоснована на стандартной реализации Spring Boot, то есть на состоянии компонентов CommandLineRunner и ApplicationRunner и проверке доступности БД сервиса. Для окружения Platform V Frontend High Load дляreadiness probeсервиса template-registry реализована функциональность критичности аудита. Таким образом если сервис Аудита недоступен и конфигурацияaudit.failure.enabledустановлена вtrue, тоreadiness probeвернет0. Подробнее о параметре читайте в разделе «Изменение конфигураций» документа «Руководство по системному администрированию». Template-registry будет пытаться отправить событиеATTEMPTED_ACTIONв сервис Аудит с установленной частотой в конфигурацииreadiness.retry.periodSeconds. Подробнее о параметре читайте в разделе «Изменение конфигураций» документа «Руководство по системному администрированию».
Если БД недоступна,
readiness probe сервиса будет возвращать0. ЧерезN(указывает настройкаreadinessProbe.failureThreshold) попыток Pod выйдет из балансировки. Еслиliveness probeвозвращает0, то черезN(указывает настройкаlivenessProbe.failureThreshold) попыток контейнер будет перезапущен.docgen-service:
liveness probeоснована на стандартной реализации Spring Boot, то есть на состоянии ApplicationContext. Если контекст приложения успешно запущен, Spring Boot предполагает, что приложение находится в доступном состоянии.readiness probeоснована на стандартной реализации Spring Boot, то есть на состоянии компонентов CommandLineRunner и ApplicationRunner.
Если сервис template-provider недоступен,
readiness probedocgen-service будет возвращать все равно1. Если пользователь при этом использует закешированный шаблон, то создание документов будет происходить успешно. Если пользователь обратится за новым шаблоном, то получит ошибку о невозможности получить шаблон. Еслиreadiness probeсервиса будет возвращать0, черезN(указывает настройкаreadinessProbe.failureThreshold) попыток Pod выйдет из балансировки. Еслиliveness probeвозвращает0, то черезN(указывает настройкаlivenessProbe.failureThreshold) попыток контейнер будет перезапущен.