Red de conocimiento informático - Problemas con los teléfonos móviles - En el caso de tres nodos en zk, ¿qué pasará si el nodo se cuelga?

En el caso de tres nodos en zk, ¿qué pasará si el nodo se cuelga?

Telegrafía Inalámbrica

Ahora voy a hacer un experimento.

Existen tres nodos, entre los cuales GP-1 y GP-2 son seguidores, y GP-3 es el líder.

Primero use ls/command para verificar los nodos existentes.

Ahora apaga zk en GP-2.

En este punto, cree un nuevo nodo create/ZK "nodetest" en GP3.

En este momento, en GP-1, el nodo recién creado está sincronizado, como se muestra en la siguiente figura.

En este momento, GP-1 sigue siendo un seguidor y Gp3 sigue siendo un líder.

Primero reiniciaremos Gp-2 y restauraremos la escena.

A estas alturas sigue igual. Gp-1 GP-2 es un seguidor GP3 es un líder.

Luego apagamos la GP3.

Entonces, se descubrió que GP-2 se convirtió en el líder.

Luego creamos un nuevo nodo secundario debajo del nodo zk hace un momento.

Finalmente encontré que estaba sincronizado con GP-1.

(Por cierto, GP-1 está cerrado en este momento. Cuando solo quede un nodo, el rechazo de conexión de GP-2 y el servicio ZK no estarán disponibles.)

Finalmente, realicemos experimentos con solo dos nodos iniciados al mismo tiempo.

Primero, se informará un error de enrutamiento, es decir, CP3 no se inicia.

Sin embargo, después de un tiempo, GP2 se convirtió en líder. . . .

En resumen, no es que no se puedan utilizar dos nodos, pero en el caso de dos nodos, solo la retroalimentación exitosa de más de la mitad de los nodos se convierte en la retroalimentación exitosa de todos los nodos, y allí es otro nodo. Si cuelga, el sistema dejará de estar disponible.

Además, se dice en línea que incluso los nodos pueden tener el mismo número de votos, pero según el mecanismo de elección de ZooKeeper, la probabilidad es muy baja.

Si hay nodos pares con los mismos votos, significa que hay dos nodos con el mismo myId, lo que en realidad debería ser imposible.