Pull to refresh

Comments 2

Есть 3 варианта падения консула, если рассматривать кворум из трёх мастеров:

1. Упал один мастер. В этом случае нормальная работа кластера продолжается, а мы чиним выпавший мастер.

2. Упало больше одного мастера. Сетап из 3х мастеров может пережить падение только одного мастера, поэтому запись в распределенный лог (raft) прекратится, service discovery не будет работать, как и регистрация новых сервисов в консуле будет невозможна. Consul-агенты будут отдавать старое состояние. Это значит, что если не будет миграции аллокаций, то с точки зрения пользователя (сервиса или пользователя сайта) ничего не произошло. В случае активной миграции аллокаций из-за нестабильности в датацентре или по другим причинам, Envoy за счет retry + outlier detection несколько сгладит эффект: попытки сходить из сервиса в другую аллокацию, которая переехала, срезультируют в connection error, после чего envoy уберет из ротации ошибочный адрес. Проблемы будут тем более заметны, чем меньше осталось корректных адресов в залипшем service discovery.

3. Отвалился агент на каком-то сервере с аллокациями с service mesh. Consul-агент, скорее всего, не будет отвечать на пинги от мастеров и пиров. Это приведет к тому, что Consul выкинет эту ноду из кластера и на нее перестанет идти трафик (в нашем случае и внешний с балансеров и внутренний из service mesh). Такое падение обычно приводит еще и к тому, что аллокации с данной ноды номад попробует размигрировать по другим нодам. До тех пор service mesh будет использовать последнее сохраненное состояние service discovery для исходящих запросов.
Sign up to leave a comment.