Consul.IO - Почему Consul Cluster нуждается в активном хотя бы кворуме серверных узлов

Я потратил немного времени на изучение Consul. Я читал о протоколе консенсуса. Я видел, что если кластер Consul хочет быть доступным, ему нужен кворум узлов серверов для выбора лидера. Интересно, если в кластере consul работает меньше кворума узлов, почему он не использует вместо этого оставшиеся работающие узлы? Кто-нибудь может ответить за меня? Большое спасибо


person Harrison Nguyen    schedule 28.12.2016    source источник


Ответы (1)


Кворум необходим, чтобы гарантировать, что у вас никогда не будет противоречивых результатов. В противном случае в кластере из восьми узлов (A B C D E F G H) может произойти сбой сети, и он разделится на два кластера (A B C D) (E F G H). Затем эти два кластера принимают два разных решения, которые несовместимы (скажем, обновляют одно и то же свойство некоторой конфигурации). Когда раздел заживает, нет возможности объединить два изменения.

Если требуется кворум, значит, вы знаете, что в любом кворуме есть хотя бы одна копия каждого принятого решения; таким образом, любые конфликты будут обнаружены хотя бы одним узлом и запрещены.

person Andrea Reina    schedule 28.12.2016
comment
Я понял вашу идею, но меня все еще смущает высокая доступность consul cluster. Зачем нужен хотя бы кворум для избрания нового лидера? - person Harrison Nguyen; 28.12.2016
comment
Кворумы используются, чтобы гарантировать, что только одна сторона раздела может принять решение (другими словами, выбрать лидера). Если бы кластер позволял принимать решение меньшему количеству узлов, тогда это было бы возможно для двух сторон. Например, если трем узлам кластера из восьми узлов было разрешено решать, кто является лидером, было бы возможно, чтобы три узла избирали одного лидера, а другие три - другого. Требование кворума для принятия решения о том, кто является лидером, гарантирует, что только одна сторона могла принять это решение, поскольку только одна сторона может иметь большинство. - person kuujo; 29.12.2016
comment
@kuujo У меня есть еще один вопрос о репликации лидера, почему лидер пытается реплицировать данные для кворума последователей. Ты можешь мне ответить ? - person Harrison Nguyen; 13.02.2017