Niezawodność ZooKeeper - trzy w porównaniu z pięcioma węzłami

OdFAQ ZooKeeper:

Reliability:

A single ZooKeeper server (standalone) is essentially a coordinator with
no reliability (a single serving node failure brings down the ZK service).

A 3 server ensemble (you need to jump to 3 and not 2 because ZK works
based on simple majority voting) allows for a single server to fail and
the service will still be available.

So if you want reliability go with at least 3. We typically recommend
having 5 servers in "online" production serving environments. This allows
you to take 1 server out of service (say planned maintenance) and still
be able to sustain an unexpected outage of one of the remaining servers
w/o interruption of the service.

W przypadku zestawu 3-serwerowego, jeśli jeden serwer zostanie wyłączony z obrotu, a jeden serwer ma nieoczekiwane przestoje, to nadal pozostanie jeden serwer, który nie powinien powodować przerwy w działaniu usługi. Dlaczego więc potrzeba 5 serwerów? A może chodzi o coś więcej niż tylko rozważanie przerwania usługi?

Aktualizacja:

Dzięki @sbridges za wskazanie, że ma to związek z utrzymaniem kworum. A sposób, w jaki ZK definiuje kworumceil(N/2) gdzieN jestoryginalny numer w zespole (a nie tylko aktualnie dostępny zestaw).

Teraz wyszukiwanie google w kworum ZK znajduje to w książce HBaserozdział o ZK:

W ZooKeeper obsługiwana jest parzysta liczba elementów równorzędnych, ale zwykle nie jest używana, ponieważ zespół o równej wielkości wymaga proporcjonalnie większej liczby elementów równorzędnych, aby utworzyć kworum, niż wymaga tego zespół o dziwnych rozmiarach. Na przykład zespół z 4 rówieśnikami wymaga 3, aby utworzyć kworum, podczas gdy zespół z 5 wymaga również 3, aby utworzyć kworum. Tak więc zespół 5 pozwala 2 rówieśnikom na porażkę i nadal zachowuje kworum, a zatem jest bardziej odporny na błędy niż zespół 4, co pozwala tylko 1 jednemu peerowi.

I to parafrazowanie Wikipedii w dziele Edwarda J. Yoonblog:

Zazwyczaj jest to większość ludzi, którzy powinni tam być, chociaż wiele ciał może mieć niższe lub wyższe kworum.

questionAnswers(2)

yourAnswerToTheQuestion