Escenarios de aplicaciones distribuidas típicas del clúster Zookeeper

 

1. La configuración de gestión de la demanda es la coherencia de los datos

ZooKeeper utiliza una combinación de push y pull: el cliente registra el nodo que necesita para prestar atención al servidor. Una vez que los datos del nodo cambian, el servidor enviará una notificación de evento Watcher al cliente correspondiente. El cliente recibe esto Después de la notificación del mensaje, debe tomar la iniciativa de ir al servidor para obtener los datos más recientes.

 

2. Servicio de nombres

Se debe acceder al servicio, como la uri proporcionada por el servicio, pero la uri es variable, por lo que debe darle un nombre fijo a la uri modificada y obtener la uri del servicio por este nombre cada vez.

         Zookeeper permite que el servicio cree un nodo, el nombre del nodo es el nombre del servicio y los datos son uri. De esta forma, se completa el nombramiento.

 

3. Balanceo de carga

1) Cargar registro / actualizar-cargar ip: el puerto se puede guardar en los datos del nodo temporal de zookeeper y tiene consistencia

2) Comprobación del estado de la carga Para la carga fuera de línea, el nodo temporal creado por él se elimina automáticamente y también se eliminan los datos del puerto ip:

3) Despacho de carga: obtenga todos los nodos temporales debajo del nodo de carga y use el algoritmo de equilibrio de carga para seleccionar una carga

 

Elección 4.master

El clúster de clientes se crea regularmente en ZooKeeper.-Un nodo temporal, como / master_ elección /

2013-09-20 / vinculante. En este proceso, solo un cliente puede crear con éxito este nodo, luego esto;

La máquina donde se encuentra el cliente se convierte en el Maestro. Al mismo tiempo, otros invitados que no han creado con éxito un nodo en ZooKeeper.

El cliente registrará un observador con un cambio de nodo secundario en node / master_ elección / 2013-09-20.

Monitoree si la máquina maestra actual está viva, una vez que se encuentre que el maestro actual se cuelga, los clientes restantes

Volverá a ejecutar la elección de Maestro.

 

5. Cerradura distribuida

Cuando se necesita adquirir un bloqueo exclusivo, todos los clientes intentarán llamar a la interfaz create ().

Cree un nodo secundario temporal / exclusive_ lock / lock debajo del nodo / exclusive_ lock. También presentamos en las secciones anteriores,

ZooKeeper se asegurará de que en todos los clientes, solo se pueda crear con éxito un cliente, entonces usted puede

Se considera que el cliente ha adquirido el bloqueo. Al mismo tiempo, todos los clientes que no hayan adquirido el bloqueo deben ir a la sección / exclusive_lock

Haga clic para registrar un monitoreo de Watcher de un cambio de nodo secundario, para monitorear el cambio del nodo de bloqueo en tiempo real.

Supongo que te gusta

Origin www.cnblogs.com/handwrit2000/p/12688012.html
Recomendado
Clasificación