215 похожих чатов

Форс промоут же подразумевает что мастер недоступен?

2 ответов

10 просмотров

следовательно не может быть понятия "автоматический force promote" ... цель таймаутов в том чтобы выждать временное окно после которого автоматический штатный promote станет безопасным

... поскольку возражений нет продолжу свою мысль... из описанного выше следует что штатный failover заблокирован до тех пор пока не случится fencing (изоляция/самоизоляция) узла. Таким образом для поддержки внешнего fencing агента нужна ручка которая отключит ожидание (FENCING_TIMEOUT) и разрешит выбрать нового мастера "прямо сейчас" . Как это примерно можно реализовать: api fence(uuid узла + timestamp) на такой запрос координатор проверяет что такой uuid в это время действительно числится мастером, после чего сичтается "изолированным" что приводит к мгновенному выбору нового мастера. Как это будет работать на практике: k8s оператор картриджа слушает api кубера и как только тот ему говорит что пода была удалена посылает fence в координатор. Т.е. например рубанем тарантул, kubectl delete pods pod_name --grace-period=0 --force он выхватит kill -9 (если процесс вообще есть) оператор узнает об этом и тут же сообщает координатору о том что узел изолирован.... Сам же тарантул если вдруг включится проверит что выход был "грязный" и не вернется в кластер без "разрешения" координатора... Такким же образом в зависимости от платформы можно реализовать любой внешний fence agent

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта