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:
- ¿Hay alguna implementación de apache zookeeper en los 2 escenarios anteriores?
- ¿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.