java neo4j distributed-computing apache-zookeeper voltdb

java - ¿Qué es el puerto zookeeper y su uso?



neo4j distributed-computing (1)

Soy bastante nuevo para el puerto de guardián del zoológico a través del cual me encuentro en los últimos días.
Introduje con la palabra clave zookeeper port en dos ocasiones:

  • Al configurar neo4j db cluster ( link ) y
  • mientras se ejecuta el catálogo compilado de voltdb ( link ) (ver Argumentos de configuración de red)

Luego, me encontré con Apache Zookeeper , (que creo que está relacionado con la aplicación distribuida, también soy un novato en la aplicación distribuida). Por lo tanto, la pregunta vino en mi mente:

  1. ¿Hay alguna implementación de apache zookeeper en los 2 escenarios anteriores?
  2. ¿Qué hace exactamente este puerto zookeeper internamente?

Cualquier ayuda será apreciada, gracias.


Zookeeper se utiliza en aplicaciones distribuidas principalmente para la gestión de la configuración y las operaciones de alta disponibilidad. Zookeeper hace esto por una arquitectura Maestro-Esclavo. Neo4j y VoltDb podrían estar usando un guardián del zoco para este propósito

Entendiendo el tema de los puertos: supongamos que tiene 3 servidores para cuidadores de animales ... Debe mencionar en la configuración como

clientPort=2181 server.1=zookeeper1:2888:3888 server.2=zookeeper2:2888:3888 server.3=zookeeper3:2888:3888

Fuera de estos, un servidor será el maestro y el resto, todos serán esclavos. Si algún servidor se apaga, el guardián del zoológico elige al líder automáticamente.

Los servidores escuchan en tres puertos: 2181 para conexiones de clientes; 2888 para conexiones de seguidores, si son los líderes; y 3888 para otras conexiones de servidor durante la fase de elección del líder.