- репа в ББ
- приложение, которое не умеет ничего
- приложение, у которого есть /health
- приложение, которое умеет опрашивать другие приложения
- приложение, которое умеет парсить простейший конфиг старого хелсчека
- приложение, которое умеет парсить конфиг со списком сервисов
- приложение, которое умеет парсить конфиг со вторым плечом
- новый конфиг
- режим совместимости со старым конфигом
- опрашивать второе плечо
- опрашивать несколько вторых плеч
- свой трешхолд для каждого сервиса
- свой дилей для каждого сервиса
- кидать эксепшн если список сервисов/плечей содержит дубликаты
logging:
level:
root: INFO
schedule:
enabled: "true" # включить хелсчек сервисов и гео-хелсчека на другом плече
delay: 2000 # время между хелсчеками сервисов в ms
client-services:
service-list: # список сервисов, которые надо опрашивать
- service-name: "attachment-svc"
port: "80"
path: "/actuator/health"
failure-threshold: "3" # количество отрицательных ответов от сервисов, после которого плечо выводится из балансировки
geo-healthcheck:
service-name: "${DO.SECOND_GEO_ENDPOINT_HOSTNAME}" # роут второго плеча
port: "80"
logging:
level:
root: INFO
schedule:
enabled: "true"
client-services:
service-list:
- endpoint: "http://new_s1:80/abc"
failure-threshold: 3
delay: 3000
- endpoint: "http://new_s2:80/abc"
failure-threshold: 2
delay: 2000
geo-healthcheck-list:
- endpoint: "http://new_geo1:80/abc"
failure-threshold: 3
delay: 3000
- endpoint: "http://new_geo1:80/abc"
failure-threshold: 2
delay: 2000
{
"status": "success",
"code": "200",
"namespace": "имя неймспейса, можно взять из переменных окружения"
}
{
"status": "error",
"code": "500",
"namespace": "имя неймспейса, можно взять из переменных окружения"
}
переменная окружения с неймспейсом POD_NAMESPACE