внешних систем, а в readiness проверять?
Релиннс проб зафэйлился - не пускаем трафик на под Ливнес зафэйлился - рестартим под Должен ли на это влиять статус внешних систем - зависит от системы и зачем почему, как мы хэндлим отказоустойчивость и какие у нас требования по доступности
А как понять в каких случаях проверять зависимость от внешних систем? У меня есть СУБД и внешний сервис, без которых приложение не будет комплаенс, то есть без них нет смысла вооьще идти в прод. Нужно ли мне их опрашивать в рединесс? И какой критерий доступности: коннекшен установлен или «код ответа 200»? Как правильно выбирать?
тут всё чуть сложнее зависит от того, может твое приложение работать без какой-то зависимости или нет. например, если у тебя данные о юзерах и сессиях хранятся и в бд, и в кэше, то в случае выхода из строя БД, ты всё ещё сможешь доставать их из кэша и обслуживать запросы на чтение. в таком случае гасить всё приложение смысла нет, а рестарты самого пода не помогут, т.к. лежит не он, а база нужно отталкиваться от конкретных требований к системе
Ну то есть, если без компонента жить нельзя, то проверяем?
Ну давай разбираться. Допустим ливнес. Оно рестартит под. Допустим у тебя упала база, поможет ли рестарт пода с этим? Вдруг оно там фолбэчнулось а у тебя коннекшен пул статичный - может и надо ребутнуться что бы восстановить работоспособность. Главный асампшен что тут рестарт хоть немного полезен и что база восстановится относительно быстро Другой вопрос как на это реагируют клиенты твоего сервиса. Если у тебя все поды ушли в Крэш луп как это на них повляет? Мол получат они bad gateway какой и норм? С внешним сервисом все сложнее. Рестарт нашего пода ничем делу не поможет. Ну разве что у тебя конфиги поменялись и мэпятся через файлы но всеравно надо под рестартить. Но это тупо. Та же штуку как крэшлуп другие клиенты будут воспринимать. Для рэди проб та же штука. Мол если мы деплоим новые конфиги через ролинг апдейт то может быть полезным делать эти проверки в рэди пробах что бы чуть что деплой просто зафэйлился. И если без этих зависимостей никак то так достаточно безопасно. Но это в целом только для кейсов когда ты сломал а не сервисы прилегли
Обсуждают сегодня