Как стать автором
Обновить

Использование Consul для масштабирования stateful-сервисов

Время на прочтение12 мин
Количество просмотров18K
Всего голосов 27: ↑26 и ↓1+25
Комментарии9

Комментарии 9

А почему Вы выбрали MHA, а не скажем более современный Orchestrator от Github, которому кстате не нужны агенты на нодах?
У нас есть независимый экворум из пяти серверов (пять — чтобы избежать ситуации с split-brain)
Можете объяснить, как наличие именно 5 нод исключает возможность сплит-брейна? о_О

Если в изолированном сегменте останется менее 3 нод, то кворума не будет. Таким образом при любом варианте split-brain не останется более одного кворума.

Таким образом при любом варианте split-brain не останется более одного кворума

Я вот ничего не понял из этого предложения. Увеличение количества нод — это просто способ повысить отказоустойчивость(ну и в некоторых случаях производительность чтения). Это история про то, что если есть 3 ноды, могу потерять 1, есть 5 могу себе позволить 2.
По-идее это никак не влияет на вероятность split-brain.
Если у вас чётное количество нод, то есть вероятность split-brain; если нечётное, то split-brain невозможен. Пояснить подробнее или ваш комментарий — претензия к формулировке в комментарии skywalk7?
Нет, само собой никаких претензий. Я только о том, что 5 нод или 3 — сильнее защита от split-brain не станет. Четное количество нод делать не надо никогда.
Почему сразу категоричное «никогда»?
Можно, например, завести 4 ноды при кворуме в 3 — надежность не выше, чем у 3х нод, но производительность может быть выше (если фактор репликации == 2). Имеет право на жизнь…

А я тоже был черезчур категоричен в предыдущем комментарии — при кворуме, равном 2, и 5 нодах в кластере запросто возможен split-brain, хотя, казалось бы, нечётное же количество нод… Разумеется, это справедливо для систем, в которых кворум можно установить в настройках (а не высчитывается автоматически из количества нод).
НЛО прилетело и опубликовало эту надпись здесь

LA сам по себе — фиговый показатель. Если их сервис ощутимо грузит cpu, то таки да, LA в 1 может уже быть проблемой, imho. Для не критичнной к cpu нагрузке и при LA в 15 сервис может выдавать приемлемое latency.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий