Zookeeper (d) el registro del servicio y el descubrimiento

1, modelo de datos Zookeeper

Aquí Insertar imagen Descripción
ZOOKEEPER modelo de datos similares, el árbol de estructura de datos.
Árbol se compone de nodos, la Zookeeper el almacenamiento de datos se basa también en un nodo, este nodo se llama Znode

Sin embargo, a diferencia del árbol de nodos, znode la referencia es un camino de referencia, similar a una ruta de archivo:

/动物//汽车/宝马

Tal estructura jerárquica, de manera que cada nodo tiene un único camino Znode, acaba de hacer el mismo espacio de nombres separación clara de información diferente.


2, Znode contienen lo que los elementos?

Aquí Insertar imagen Descripción

  • datos: almacenamiento de datos Znode.
  • ACL: acceso al registro Znode, que es quién o qué se puede acceder a este nodo IP.
  • STAT: Znode que contiene varios metadatos, tales como ID de transacción, número de versión, marca de tiempo, el tamaño, etc.
  • niño: el niño de la referencia de nodo actual
    Nota:
    Zookeeper para la lectura y la escritura poco diseño escena.
    Znode no se utiliza para almacenar datos de negocios masivos, pero para una pequeña cantidad de almacenamiento ** información de estado y configuración, los datos máximos para cada nodo no puede exceder de 1 MB **. Para evitar ser utilizado como una base de datos, aunque Zookeeper consistente.

3, la operación básica de Zookeeper

La creación de nodos

create

nodo de eliminación

delete

Determinar si hay un nodo

exists

La obtención de datos de un nodo

getData

Ajuste de los datos de un nodo

setData

Obtiene todos los nodos secundarios del nodo

getChildren

Entre estos, es que existe, getData, getChildren operación de lectura pertenece.
Sin embargo, una vez que los negocios y operaciones de escritura con ganchos, y las transacciones relaciones generadas.
Zookeeper cliente cuando solicita una operación de lectura, se puede seleccionar si desea configurar reloj


4, Zookeeper notificación de la operación

Watch puede ser entendido como un específico Znode registrado en el gatillo.
Cuando este cambio Znode, que se llama crear, eliminar, método setData cuando se activará el registro de eventos correspondiente en Znode, reloj petición del cliente recibirá notificaciones asíncronas.

5, la consistencia Zookeeper

ZOOKEEPER como distribuidos servicios de coordinación del sistema, si su caída de cómo tratar con él?
Con el fin de evitar un bloqueo autónomo, Zookeeper mantiene un clúster. (Punto único de error)
Aquí Insertar imagen Descripción
del cluster-Service Zookeeper es un maestro multi-esclavo de configuración.

Cuando los datos de actualización, para actualizar la primera Servic principal del Zookeeper E, la re-sincronización de-servicio del Zookeeper .
Al leer datos directamente leído ninguna de Servicio-al Zookeeper .
Para garantizar la coherencia de datos desde el nodo maestro, utilizando el Zookeeper protocolo ZAB , este protocolo es muy similar a y consistente Paxos algoritmo de balsa.


6, de acuerdo ZAB

Broadcast Zookeeper átomos (Zookeeper) atómico) (broadcast; distribuir, transmitir) ,
una recuperación efectiva accidente solución de clúster Zookeeper, así como problemas de sincronización maestro-esclavo de datos.

protocolo ZAB define tres estados de nodo

  • Mirando: elecciones estatales.
  • Siguiendo: Seguidor indicar el nodo (nodo esclavo).
  • Líder: nodo líder (nodo maestro) el estado en el cual

ZAB el protocolo no es ni fuerte consistencia ni consistencia débil, pero entre los dos no monotonicidad (consistencia secuencial) .
Se basa en el ID de transacción y el número de versión , para asegurar la actualización y los datos de lectura se ordenó en.


7, la recuperación de bloqueo clúster Zookeeper

(Al igual que en la replicación del Redis maestro-esclavo, pero similar)
si el grupo pendiente Zookeeper servidor Zookeeper primaria, el grupo se colgará recuperación.
1, fase de elección, es decir, todos los servidores de la sub Zookeeper, a una votación. (En este punto, todos los servicios infantiles estatales están mirando: elección estatal)
2 votos superior a la mitad del servidor sub Zookeeper, líder Líder convertido, (que conduce: nodo líder (nodo principal) en el que el estado), los otros servicios del niño seguidor seguidores, (Siguiendo: nodo de seguimiento (desde el estado en el que el nodo))
3, Líder de servicios procedentes de otros sub-servicio, mirada para el descubrimiento, los últimos registros ZXID y de transacción. Y actualizarse.
4, Líder sólo la última colección de registro de transacciones histórica obtenida, la sincronización con el grupo todo el seguidor. Sólo la mitad de sincronización Seguidor tiene éxito, el cuasi-Líder para convertirse en un líder oficial.

Publicado 44 artículos originales · ganado elogios 5 · Vistas 907

Supongo que te gusta

Origin blog.csdn.net/qq_40634246/article/details/104603815
Recomendado
Clasificación