игровой проект.
Есть два своих редиса, и ядро, через которое микросервисы общаются.
Дело в том, что если у микросервисов теряется коннект к редисам, или к ядру, у игроков становится все очень плохо, сгорают деньги.
Все написано на Java, микросервисы имеют сессионость, поэтому имеют свойство часто перезапускаться.
Сегодня в 7 утра непонятно с чего, огромная часть подов умерла (подозреваю что как раз из-за потери соединения с главными координаторами, хотя не совсем понятно почему, потому что код старый и обкатанный, уйти в рестарт они просто так не могли) и появилась огромная нагрузка на одну лишь ноду, из-за чего запуск системы в нормальное состояние занял очень долгое время. Плюс по ходу дня постоянно возникали проблемы с подключением к Redis. Только сегодня обнаружил, что редисы, ядро и бд были c QoS BestEffort, предполагаю что K8S пересметил под, в следствие чего все упало, возможно ли это так? Как правильно все реализовать с QoS, учитывая, что это джава, и на старте она потребляет существенно больше? Имеет ли значение то, что podManagementPolicy: Parallel , и если имеет, то есть ли какая-то возможность это поменять, учитывая что сейчас StatefulSet-ы работают так.
В кубере недавно, сам не девопс, если можно, то максимально для тупеньких.
+ Проблема, что ноды загружаются далеко не равномерно.
нормально реквесты и лимиты настроей
Обсуждают сегодня